一、问题描述

使用{{}}双花括号在html页面进行数据绑定时,从一个对象中获取,超过两个.就报错,如下代码报错提示为

“TypeError: Cannot read property ‘Name’ of undefined”。

var editsmall_v = new Vue({
    el: '#editsmall',
    data: {
        editSmall : {}
    },
    methods: {

    }
});

<div class="form-section">
    <label class="required label">{{editSmall.lang.Name}}</label>
</div>

二、问题解决

因为获取服务器是异步的,所以 vue 先绑定数据。绑定数据时,你的lang赋值为空对象的话,而lang里面的 name 属性便为 undefined,所以报"cannot read property ‘name’ of undefined"。

所以在初始化时,node 属性赋值为空对象就行了。

var editsmall_v = new Vue({
    el: '#editsmall',
    data: {
        editSmall : {
            lang : {},
            resumeInfo : {
                personInfo : {},
                TargetJob : {},
                SelfAssessment : {},
            }
        },
        salarytype : '',
        salaryname :''
    },
    methods: {
    }

});
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐