收藏
回答

worklet动画结束回调函数中runOnJS一个方法会出现异常?

const { shared, Easing, repeat, timing, cancelAnimation,runOnUI,runOnJS} = wx.worklet


Component({

    /**
     * 组件的方法列表
     */
    methods: {


        testTriggerEvent() {
            try{
                this.setData({
                    test:1
                })
            }catch(error){
                console.error('f',error)
            }
        },

        onDeleteTapEvent() {
            // 动画
            var deleteWorkletShareValue = shared(1)
            this.applyAnimatedStyle('.deleteView', () => {
                'worklet';
                return {
                    transform: `scale(${deleteWorkletShareValue.value})`
                }
            })
            deleteWorkletShareValue.value = repeat(timing(1.5, {
                duration: 100,
                easing: Easing.linear
            }), 2, true, () => {
                'worklet';
                runOnJS(this.testTriggerEvent)()
            })
        },
    }
})



runOnJS组件的this.testTriggerEvent()函数时出现错误TypeError: this.setData is not a function

应该怎么解决呢

回答关注问题邀请回答
收藏

2 个回答

  • Eamon
    Eamon
    04-01

    runOnJS(this.testTriggerEvent.bind(this))


    04-01
    有用 1
    回复 1
    • 天赐
      天赐
      06-14
      谢谢
      06-14
      回复
  • 赵嘉俊
    赵嘉俊
    03-29

    有大佬帮忙解答一下吗

    03-29
    有用
    回复
登录 后发表内容