关于page调用域的问题求解
发布于 5 年前 作者 lhe 14207 次浏览 来自 问答

定义对象的时候如果这样定义,

这样说明在内存中是不是存储了2份数据,希望初始化page给的域个调用域为同一个,

3 回复

1楼的想法太简单了,page函数传递类的实例而不是一个简单的{},这样做的目的是可以将代码抽象,比如列表页面同一使用一个listbase类的实例就可以了,

,这是我更改方案最后实现的效果,简单的传递几个参数就可以配置下拉刷新,加载更多,和参数;官方的这个做法两份数据是有些浪费内存,还不好控制。

楼上厉害了,鼓掌

干嘛整这么复杂?

这样就行了,调用域this就是Page的实例:

Page({

    data:{a:1,b:2},

onLoad: function(params){

params &&  this.refresh(params)

},

refresh: function(params){

        let {a,b} = this.data

a += params.a||0

b += params.b||0

this.setData({a, b})

}

})

回到顶部