问题描术
若在父组件parent中调用子组件child,父组件有写好的getData()方法。
javascript
methods: {
getData(data) {
console.log(data);
}
},
父组件引入子组件代码出下:
parent.vue
html
<child ref="child" @getData="getData"/>
在子组件child中使用
child.vue
javascript
methods: {
sendData() {
this.$emit('getData',"Child data")
// console.log('触发');
}
},
此时的调用并不起作用
原因
原因是DOM的标准与js的不一样,对大小写不敏感。
解决方案
需将驼峰命名法更改为以连字符-互相连接的小写字母串。
parent.vue
html
<child ref="child" @get-data="getData"/>
在子组件child中使用
child.vue
javascript
methods: {
sendData() {
this.$emit('get-data',"Child data")
// console.log('触发');
}
},