在角路径中,平行线是可观测的物体。我可以订阅这个对象:
this.route.params.subscribe(newValue => ...)我能用Ionic navParams做类似的事情吗?
constructor(public navParams: NavParams) {
this.videoId = navParams.get('videoId');
}是否有可能将videoId转换为可观测值?
例如,我有一个产品页。这个产品颜色变化很大。颜色是Nav params的一个参数。用户可以更改颜色,但是不需要执行NavCtrl.push(),因为颜色变化太小了。这不是历史上的另一页。我只想在组件中更改this.color。但是我需要订阅组件中的颜色变化。
发布于 2017-07-27 11:40:06
如果您只是想通知从您的页面到组件的颜色更改,您可以在这里使用事件。从离子角导入events类,并将其注入构造函数。在页面中,单击“发布事件”,然后在组件的构造函数中订阅该事件。因此,代码将如下所示。
在你的页面上
import {Events} from ‘ionic-angular‘;
onClick(){
this.events.publish(‘myEvent‘);
}在组件中,您可以订阅该事件。
this.events.subscribe(‘myEvent’,() => {
// do something
});发布于 2018-01-16 21:11:50
不需要发生什么事。如果将NavParams作为对象传递,例如{color : "red", videoId :1 }
它是参照通过的。因此,您在一边所做的任何更改都将反映在另一边,例如{color : "blue" , videoId :1 }。我不相信这会重新呈现整页。
https://stackoverflow.com/questions/45348218
复制相似问题