页面、组件的数据传递
页面与页面的跳转同时实现数据的传递。
代码:
首先在原始页用navigateTo事件来进行页面的跳转,在结合success中的res.eventChannel.emit(“事件名”,传递数据)进行数据的传递。
然后在目标页对该事件进行注册:this.getOpenerEventChannel().on(“test1”,(data)=>{}),data就是传过来的数据,在函数中可对数据进行处理。
组件和页面的通信
1.页面触发事件去修改组件的数据:
首先通过this.selectComponent("#cpn")获取到组件这个实例,再通过setData修改数据即可。
2.组件触发事件去修改页面的数据
通过点击组件内部的按钮修改页面的数据。
代码:
组件的发出事件:
页面监听:
页面被触发的事件:
组件内部通过:this.triggerEvent(“increment”)来触发这个increment,然后在页面通过bind:increment=“test2”,绑定到test2,就是组件触发的事件,在页面JS进行对页面的数据进行处理。