我对这里的无限递归还是不太理解,为啥改变有时会出现有时不出现

来源:8-14 千万不要在observer中修改自身属性值

迷失的小麦

2020-04-21

observer:function(newVal,oldVAl,changedPath){
        let val=newVal<10?'0'+newVal:newVal;
        this.setData({
          index:123123
        });
      }

为什么上一节视频老师随意将index改为123123就不会产生无限递归?

properties: {
    index:{
      type:String,
      observer:function(newVal,oldVal,path){
        let val = newVal.length < 2 ? '0' + newVal : newVal
        this.setData({
          index: val
        })
      }
    }
  },

另,我在问答区看到别的同学写的这个方法,为什么就可以不无限递归了?

写回答

1回答

7七月

2020-04-21

每次赋值都 是123123,没有改变为什么会触发。

0
5
7七月
回复
迷失的小麦
你写个console.log每次打印看一下 setData的数值就知道了
2020-04-21
共5条回复

纯正商业级微信小程序应用实战,全方位小程序特性讲解

真实数据的高质量小程序项目,学会直接工作

4782 学习 · 2125 问题

查看课程