为何wepy的数据没法渲染到实例里面去

为啥明明WEPY是将数据渲染到视图还会出这个问题呢?

由于只是相似于 Vue 框架,因此不能彻底实现数据渲染,尤为当异步操做的时候。javascript

(1)WePy 普通数据绑定。java

WePY使用脏数据检查对setData进行封装,在函数运行周期结束时执行脏数据检查,一来能够不用关心页面屡次setData是否会有性能上的问题,二来能够更加简洁去修改数据实现绑定,不用重复去写setData方法。代码以下:app

this.title = 'this is title';

(2)异步操做里面框架

需注意的是,在异步函数中更新数据的时候,必须手动调用$apply方法,才会触发脏数据检查流程的运行。如:异步

setTimeout(() => { this.title = 'this is title'; this.$apply(); }, 3000);
在函数运行周期以外的函数里去修改数据须要手动调用$apply方法。全部的Promise的then,catch等方法,已是在Wepy的函数周期以外了,若是是在这些方法里面设置属性值,就必须调用$apply方法,若是是在子Component里面就调用this.$parent.$apply()就好了
相关文章
相关标签/搜索