Vue.js VueJS模型属性不绑定(如果它们不在原始属性列表中)
在Vue.js VueJS模型属性不绑定(如果它们不在原始属性列表中),vue.js,data-binding,Vue.js,Data Binding,在VueJs中,如果我的数据中的某个对象具有默认值的属性,它将在我操作它时正确绑定。但是,如果我以后设置了一个全新的属性,则该新属性值将不受约束 我能解释这一点的最佳方式是通过以下示例: 如果我为make(本田、丰田等)输入值,DOM会自动更新。但是,如果我为year输入一个值,则该值不会在div中呈现在它的正上方 如果我改为将默认对象更改为以下对象,则make和year两个属性都将正确绑定:car:{make:'Honda',year:'2012'}这不是错误。然而,对于Vue新手来说,这是一
VueJs
中,如果我的数据中的某个对象具有默认值的属性,它将在我操作它时正确绑定。但是,如果我以后设置了一个全新的属性,则该新属性值将不受约束
我能解释这一点的最佳方式是通过以下示例:
如果我为make
(本田、丰田等)输入值,DOM会自动更新。但是,如果我为year
输入一个值,则该值不会在div
中呈现在它的正上方
如果我改为将默认对象更改为以下对象,则make
和year
两个属性都将正确绑定:car:{make:'Honda',year:'2012'}
这不是错误。然而,对于Vue新手来说,这是一个常见的陷阱——尤其是那些背景有棱角的用户
当Vue初始化时,它将应用于Vue实例的data
对象中的每个属性。但是,Vue无法为不存在的属性设置被动getter和setter
如果希望属性是被动的,则必须使用默认值对其进行初始化:
var app = new Vue({
el: '#app',
data: {
car: {
make: '',
year: ''
}
}
});
这不是一个bug。然而,对于Vue新手来说,这是一个常见的陷阱——尤其是那些背景有棱角的用户
当Vue初始化时,它将应用于Vue实例的data
对象中的每个属性。但是,Vue无法为不存在的属性设置被动getter和setter
如果希望属性是被动的,则必须使用默认值对其进行初始化:
var app = new Vue({
el: '#app',
data: {
car: {
make: '',
year: ''
}
}
});
要使第一个示例成为被动的,数据属性需要有getter和setter。你可以读到它
简而言之,如果您的数据如下所示:
data() {
return {
car: {
make: '',
},
},
},
如果您想将属性year
添加为被动数据,则需要将其设置在某个位置(例如在挂载的钩子中)
但老实说,当您知道需要什么属性时,就可以在开始时将它们添加到数据中
data() {
return {
car: {
make: '',
year: '',
},
},
},
要使第一个示例成为被动的,数据属性需要有getter和setter。你可以读到它
简而言之,如果您的数据如下所示:
data() {
return {
car: {
make: '',
},
},
},
如果您想将属性year
添加为被动数据,则需要将其设置在某个位置(例如在挂载的钩子中)
但老实说,当您知道需要什么属性时,就可以在开始时将它们添加到数据中
data() {
return {
car: {
make: '',
year: '',
},
},
},
为我处理这件事,我很荣幸。谢谢为我处理这件事,我很荣幸。谢谢