Javascript 为什么v-for in模板在输入文本更改时更新?
我在vuejs中有此代码,但模板中的for没有更新。 当在输入文本中添加一些数据时,它会改变,但我想更新@click中的列表Javascript 为什么v-for in模板在输入文本更改时更新?,javascript,vue.js,Javascript,Vue.js,我在vuejs中有此代码,但模板中的for没有更新。 当在输入文本中添加一些数据时,它会改变,但我想更新@click中的列表 Vue.js无法检测对象中的新属性。看 您可以使用Vue.set(): Vue.js无法检测对象中的新属性。看 您可以使用Vue.set(): 看起来您遇到了vue.js文档中定义的对象更改检测警告。具体来说,您似乎正在添加一个以前不存在的新对象属性,因此无法检测到更改 以下是一个可能的修复方法: methods: { addModule:function(){
Vue.js无法检测对象中的新属性。看 您可以使用Vue.set():
Vue.js无法检测对象中的新属性。看 您可以使用Vue.set():
看起来您遇到了vue.js文档中定义的对象更改检测警告。具体来说,您似乎正在添加一个以前不存在的新对象属性,因此无法检测到更改 以下是一个可能的修复方法:
methods: {
addModule:function(){
var size = Object.keys( this.modules ).length;
this.modules[size] = {
enumerate: '1.1',
name: 'test',
description: 'test d',
type: 'module',
criteria: {}
};
this.modules = Object.assign({}, this.modules);
console.log(this.modules);
}
}
添加的行将作为原始对象克隆版本的指定行。由于此克隆对象实际上是一个单独的对象,因此将强制检测相关的更改
但是,请注意,如果需要,深度克隆将需要额外的工作。看起来您遇到了vue.js文档中定义的对象更改检测警告。具体来说,您似乎正在添加一个以前不存在的新对象属性,因此无法检测到更改 以下是一个可能的修复方法:
methods: {
addModule:function(){
var size = Object.keys( this.modules ).length;
this.modules[size] = {
enumerate: '1.1',
name: 'test',
description: 'test d',
type: 'module',
criteria: {}
};
this.modules = Object.assign({}, this.modules);
console.log(this.modules);
}
}
添加的行将作为原始对象克隆版本的指定行。由于此克隆对象实际上是一个单独的对象,因此将强制检测相关的更改
但是,请注意,如果需要,深度克隆将需要额外的工作。或将
this.modules
更改为数组并使用this.modules.push({…})
。是的@Botje您可以使用数组,但如果EdgarAlejandro更喜欢对象…或将this.modules
更改为数组并使用this.modules.push({…})
。是@Botje您可以使用数组,但如果EdgarAlejandro更喜欢对象。。。
methods: {
addModule:function(){
var size = Object.keys( this.modules ).length;
this.modules[size] = {
enumerate: '1.1',
name: 'test',
description: 'test d',
type: 'module',
criteria: {}
};
this.modules = Object.assign({}, this.modules);
console.log(this.modules);
}
}