我有一个Vue组件,用于 创建新项目或更新数据库中的现有项目。我正在将数据中的项初始化为空对象:
module.exports = {
data: function() {
return { item: {} };
},
};
但是,我正在使用v-model
将字段与item
的嵌套属性相关联:
<input id="author" type="text" class="form-control" v-model="item.author">
这会生成警告:
[Vue warn]: Error when evaluating expression "item.author".
如果可能,我喜欢告诉Vue不要担心它是否无法评估此表达式。我喜欢以避免明确声明item
的每个属性,只是让我的API填充它。有没有办法做到这一点?
答案 0 :(得分:0)
您可以取消所有Vue.js日志和警告,但不能取消特定警告。
Vue.config.silent = true
答案 1 :(得分:0)
如果你可以让你的API传递一个属性名称数组,那么可以在循环数组时使用$ set:
for (var i = 0; i < response.propertyNameListFromAPI.length; i++)
{
this.item.$set(response.propertyNameListFromAPI[i], null );
}
如果您有现有的项目对象,则可以迭代其属性名称:
for (var propertyName in exampleItemObject )
{
this.item.$set(propertyName, exampleItemObject[propertyName] );
}