zhangdaren / miniprogram-to-uniapp

轻松将各种小程序转换为uni-app项目
Other
1.67k stars 277 forks source link

子组件内使用setData和emit函数报 TypeError: this.$forceUpdate is not a function 错误 #174

Closed calvinlsy86 closed 2 months ago

calvinlsy86 commented 3 months ago

问题描述?

组件内包含的子组件,在使用this.setData和this.$emit的时候,会报 TypeError: this.$forceUpdate is not a function 错误

image

重现步骤

在u-child-comp组件的methods 下创建函数,如

methods: { updateData(obj){ this.setData({obj}) },

 change(type){
      this.$emit('changeType', {
                    detail: {
                        type
                    }
      });
 }

}

期望的结果

在子组件也正常使用setData和this.$emit

FreeManFJ commented 3 months ago

我也遇到了

calvinlsy86 commented 2 months ago

我也遇到了

我现在解决了,this指向不明的原因,解决方法:在export default 外部定义一个 let that = this