Javascript 未捕获类型错误:无法设置属性';iEdit模式';未定义的
我正在尝试将AngularJS应用程序转换为Vue JS。但是,我不断收到js错误,如“UncaughtTypeError:无法设置未定义的属性'isEditMode' 我在这里试图做的是在单击vuetify图标时使页面可编辑,该图标反过来调用函数并显示一些其他图标。我目前拥有的代码如下:Javascript 未捕获类型错误:无法设置属性';iEdit模式';未定义的,javascript,angularjs,vue.js,vuejs2,vuetify.js,Javascript,Angularjs,Vue.js,Vuejs2,Vuetify.js,我正在尝试将AngularJS应用程序转换为Vue JS。但是,我不断收到js错误,如“UncaughtTypeError:无法设置未定义的属性'isEditMode' 我在这里试图做的是在单击vuetify图标时使页面可编辑,该图标反过来调用函数并显示一些其他图标。我目前拥有的代码如下: new Vue({ el: '#app', data: { saveView: false, isPageEdit: false, saveFa
new Vue({
el: '#app',
data: {
saveView: false,
isPageEdit: false,
saveFailed: false,
isPageLocked: false,
editFailed: false,
timerMessage: false,
boundData:
{
sections: {
isEditMode: null
}
}
},
methods:
{
setedit: function (isEditMode, sectionId) {
this.boundData.sections[sectionId].isEditMode = isEditMode;
validation(sectionId);
如何解决这个问题?您的数据结构与您尝试为其编制索引的方式不匹配。你已经定义了
`boundData.sections.isEditMode`
而你正试图引用
`boundData.sections[sectionId].isEditMode`
您的数据结构与您尝试对其进行索引的方式不匹配。你已经定义了
`boundData.sections.isEditMode`
而你正试图引用
`boundData.sections[sectionId].isEditMode`
首先,需要将节设置为对象数组。然后你可以像那样访问你的财产 像这样的
sections: [
{isEditMode: null},
{isEditMode: true},
]
或者,如果您希望保留现有的数据结构,则可以直接访问isEditMode,如下所示。boundData.sections.isEditMode您需要首先使sections成为一个对象数组。然后你可以像那样访问你的财产 像这样的
sections: [
{isEditMode: null},
{isEditMode: true},
]
或者,如果您希望保留当前的数据结构,那么您可以直接访问isEditMode,如下所示。boundData.sections.isEditMode谢谢,但您能否告诉我们,在这种情况下,如何修改数据结构,保持节[]完整?这样编写节[]将使其成为一个数组。因此,vueJs将始终查找类型为array的sections属性,而正如您所料,它将不会找到该属性,并且将始终向您返回未定义的错误。正如我所说,您必须使sections[]成为一个对象数组,这样您就可以使用此行'this.boundData.sections[sectionId]访问它.isEditMode'或保持原样并像那样访问它'this.boundData.sections.isEditMode'我理解这一点,但我需要有关代码中的确切语法的帮助…您要求vue读取某个不存在的数组!所以据我所知,不能用同样的snytax来完成。您将不得不更改某些存储库,但您能否告诉我们,在这种情况下,如何准确地修改数据结构,以保持节[]的完整性?这样编写节[]将使其成为一个数组。因此,vueJs将始终查找类型为array的sections属性,而正如您所料,它将不会找到该属性,并且将始终向您返回未定义的错误。正如我所说,您必须使sections[]成为一个对象数组,这样您就可以使用此行'this.boundData.sections[sectionId]访问它.isEditMode'或保持原样并像那样访问它'this.boundData.sections.isEditMode'我理解这一点,但我需要有关代码中的确切语法的帮助…您要求vue读取某个不存在的数组!所以据我所知,不能用同样的snytax来完成。你必须改变一些事情