Vue 2.0中不推荐使用双向绑定,而是使用更多事件驱动的体系结构。一般来说,孩子不应该改变它的道具。相反,它应该是$emit事件,让父母回应这些事件。
这是一个简单的例子:Vue.component('child', {
template: '#child',
//The child has a prop named 'value'. v-model will automatically bind to this prop
props: ['value'],
methods: {
updateValue: function (value) {
this.$emit('input', value);
}
}});new Vue({
el: '#app',
data: {
parentValue: 'hello'
}});
Parent value: {{parentValue}}
文档说明了这一点
相当于
这就是为什么孩子的道具需要被命名为值,以及为什么孩子需要$发出一个名为的事件input。