如下代码用于实现子组件向父组件传递数据,请找出代码中的 3 处错误,并改正。 <div id="a"><p>{{total}}</p ><com @click='change'></com></div> Vue.components('com',{ template:`<div>{{count}}<button @click='increase'>加 1</button></div>`, data(){return{count:0}}, methods:{increase:function(){this.count++;this.$emit('input',this.count)},}}) var vm=new Vue({el:'#a',data:{total:0}}) 1 改为 2 改为 3 改为
时间: 2024-02-12 14:03:33 浏览: 65
Vue 父子组件的数据传递、修改和更新方法
1. 将 `Vue.components` 改为 `Vue.component`(components 应该是复数形式,而 component 是单数形式)
2. 将 `com` 改为 `componet`(拼写错误)
3. 将 `@click` 改为 `@input`(子组件使用 `$emit` 触发的事件名应该是 `input`,而不是 `click`)
修改后的代码应该是这样的:
```
<div id="a">
<p>{{total}}</p>
<component @input='change'></component>
</div>
Vue.component('component', {
template: `
<div>
{{count}}
<button @click='increase'>加 1</button>
</div>
`,
data() {
return {
count: 0
}
},
methods: {
increase() {
this.count++;
this.$emit('input', this.count);
}
}
});
var vm = new Vue({
el: '#a',
data: {
total: 0
},
methods: {
change(val) {
this.total = val;
}
}
});
```
阅读全文