收藏
回答

observers监听 使用 setData 设置本身监听的数据字段会导致循环 有解决方案吗?

observers监听  如果在数据监听器函数中使用 setData 设置本身监听的数据字段这个问题

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

3 个回答

  • 金煜峰
    金煜峰
    2021-07-29

    一定要同一个字段的话可以设置一个标志,不过一般情况换一个字段名设置就好了吧

    observer() {
      if (!this.flag) {
        this.flag = true
        this.setData({
          xxx: yyy
        })
      } else {
        this.flag = false
      }
    }
    
    2021-07-29
    有用
    回复 2
    • 满目山河
      满目山河
      2021-07-29
      按您说的加个标识是可以的   但是我刚开始的做法是处理过之后赋值到data 也能打印到  但是页面不会重新渲染    页面上取第一个值也是能取到的 这是什么原因呢
      2021-07-29
      回复
    • 满目山河
      满目山河
      2021-07-30
      贴个代码 recommend1有内容 但是去渲染是渲染不到的 警告大概是因为页面没内容
      2021-07-30
      回复
  • ???
    ???
    2021-07-29

    肯定不可以这么做逻辑,修改了自身肯定会再监听到的

    2021-07-29
    有用
    回复 5
    • 满目山河
      满目山河
      2021-07-29
      逻辑需求是  拿到properties的数组 处理过之后再渲染 这要怎么操作呢
      2021-07-29
      回复
    • ???
      ???
      2021-07-30回复满目山河
      可以用filters,不太确定原生有没有这个,或者从接口取到数据的时候直接处理
      2021-07-30
      回复
    • 满目山河
      满目山河
      2021-07-30
      贴个代码  recommend1有内容  但是去渲染是渲染不到的  警告大概是因为页面没内容
      2021-07-30
      回复
    • ???
      ???
      2021-07-30回复满目山河
      不好意思,原生很久没用了不太清楚,你可以百度一下vue数据渲染的问题
      2021-07-30
      回复
    • 满目山河
      满目山河
      2021-07-30回复???
      感谢回答
      2021-07-30
      1
      回复
  • LeeaYoung
    LeeaYoung
    2021-07-29

    具体举例来看看!

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