【发布时间】:2017-04-30 12:46:37
【问题描述】:
嗨,我有以下 Vue.js v1.0.28 的问题 - 我有组件
Vue.component('question-editor', {
template: require('./question-editor.html'),
props: ['question'],
methods: {
addChoice() {
this.question.choicesArr.push({
id: null,
body:'zzz',
icon:'',
next:null,
});
console.log(this.question.choicesArr);
},
}
});
在哪里./question-editor.html:
...
<div class="box-body">
<div class="form-group" v-for="choice of question.choicesArr">
<input v-model="choice.body" type="text" class="form-control">
</div>
</div>
<div class="box-footer">
<button @pointerdown="addChoice" type="submit" class="btn btn-primary">
Add choice
</button>
</div>
我在父组件中使用这个组件是这样的:
<question-editor :question.sync="currentQuestion"></question-editor>
问题是,当我按下“添加选择”按钮并运行方法 addChoice() 时,我在控制台中看到属性 question.choicesArr 有新元素 - 但视图没有改变(我没有看到这个新元素screen - 所以 v-for 不会“看到”这个新元素并且不会刷新自身)。在addChoice() 内做什么来刷新视图以在屏幕上看到question.choicesArr 中的新元素?
【问题讨论】:
标签: javascript components vue.js