收藏
回答

在组件内wxml使用wxs中的方法,组件内js使用setData,wxs里面的方法会重复执行?

调试基础库 2.14.1

setData的内容是跟wxs方法使用的参数无关的

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

2 个回答

  • 周理
    周理
    01-22

    每次setData都会造成页面重新渲染,自然会重新执行

    01-22
    有用
    回复 7
    • 迷糊先生
      迷糊先生
      01-22
      但是我setData的对象跟使用wxs用到的对象不是一个也会执行啊?
      01-22
      回复
    • 周理
      周理
      01-22回复迷糊先生
      setData造成重新渲染,这个渲染是整个页面的渲染,自然会重新执行,页面上有多少wxs就会执行多少,所以官方推荐大家不要频繁的setData
      01-22
      回复
    • 迷糊先生
      迷糊先生
      01-22回复周理
      大佬,页面用到定时器有什么好的解决方案吗?
      01-22
      回复
    • 周理
      周理
      01-22回复迷糊先生
      我们之前写定时器比如未支付订单倒计时用过,当时是写成了组件
      01-22
      回复
    • 迷糊先生
      迷糊先生
      01-22回复周理
      不是setdata一秒更新一次么?
      01-22
      回复
    查看更多(2)
  • 迷糊先生
    迷糊先生
    01-22

    例如

    wxs:
      var getStatus = function(status){console.log("获取状态");}
    wxml:
      {{m1.getStatus(item.status)}} {{time}}
    js:
      this.setData({time:1})
    

    难道每次setData wxml中的函数每次都会执行?

    01-22
    有用
    回复 1
    • 迷糊先生
      迷糊先生
      01-22
      现在每次setData console.log都会执行
      01-22
      回复
登录 后发表内容
问题标签