小程序中遇到js执行时序问题

场景是小程序,小程序中是单向绑定的,这里举个栗子,我想在设置颜色再设置名称,页面必须体现这种先后关系,就是先变红,名字再变成Tom

function test () {

  //促使页面刷新
  this.setData({
   viewColor: red
  })  

  this.setData({
   name: 'Tom'
 })
}

实际这样做,两个是同时执行的,我的解决方案如下:

function test () {

  //促使页面刷新
  this.setData({
   viewColor: red
  })  

  setTimeout(function () {
    this.setData({
      name: 'Tom'
    })  
  }, 1000)

}

这样是可以在先改变颜色后,再改变名字
目前我的程序碰到性能问题,类似好几个模块,我觉得 滥用计数器 的代码很多,可又不知道如何解决?

阅读 3.1k
1 个回答

为什么你会有 function test (){} 的写法。

Page({
     data: {
         name: 'hello'
     },
     changeName(){
         this.setData({
             name: 'hehe'
         })
     }
})

执行changeName方法后,页面中的name就会更新,不需要刷新页面。
可以看看我写的小程序demo:https://github.com/lin-xin/wx...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题