首页  >  问答  >  正文

javascript - 小程序中遇到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)

}

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

代言代言2672 天前706

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-06-26 11:00:13

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

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

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

    回复
    0
  • 取消回复