一般情况,每个.w中都只绑定 当前页面中的data组件!!如果想在另一个页面同步这个页面data修改后的值,只能通过页面交互,传参,赋值,或者派发事件传参,或者数据保存刷新,的方式实现。
并不建议多个.w绑定同一个data数据源,主要原因:
1.页面耦合度增高,要求必须data先初始化,这个页面才能打开运行。
2.因为是赋值给window对象的!如果命名冲突就会导致所有绑定此data的页面打开报错
如果这两点可以忽略或控制,那么多个页面绑定同一个data组件数据源,对于共享数据来讲是非常方便的!
方法:
1.在第一个打开的页面中,放置data组件(只有第一个页面初始化data,其他页面才能正常打开的,其他页面不能优先访问,切记)
2.在此页面的model构造方法,或者onload方法 中 ,将data组件赋值给window对象 :
window.data = this.comp('data');
3.其他页面中绑定window.data 即可,比如,input 的 bind-ref属性设置: window.data.ref(“name”)
其他绑定也是类似的写法,window.data.ref(‘字段’) 或 window.data.val(‘字段’)
评一波