在网络上并没有搜索到这种情况,这里记录下避免以后的自己和广大码农踩到这个坑
问题描述:在自定义组件中想调用 this.triggerEvent()函数给父组件传参,过程中报错:Cannot read property ‘triggerEvent’ of undefined
//header.js 组件中的js代码片段 错误示例 Component({
/ * 组件的方法列表 */ methods: {
//下面是一个触发事件后绑定的函数,想要通过triggerEvent将数据传到父组件 onChangeLocation:(event) => {
//这里格式错误,使用箭头函数后编译器不能识别triggerEvent()函数 let message = "我是要传到父组件的消息"; console.log(message"); //可以正常打印,说明使用箭头函数可以执行里面的代码 this.triggerEvent("locationChange",{
message}); //出错,箭头函数会导致this指针指向的位置不对,导致无法调用 triggerEvent 方法 } }) }, } }) //正确示例1 官方文档的格式 Component({
/ * 组件的方法列表 */ methods: {
onChangeLocation(event) {
let message = "我是要传到父组件的消息"; console.log(message"); //正常打印 this.triggerEvent("locationChange",{
message}); //执行成功 } }) }, } }) //正确示例2 可以正确执行但格式与官方文档格式不同 Component({
/ * 组件的方法列表 */ methods: {
onChangeLocation:function(event) {
let message = "我是要传到父组件的消息"; console.log(message"); //正常打印 this.triggerEvent("locationChange",{
message}); //执行成功 } }) }, } })
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/229958.html原文链接:https://javaforall.net
