【发布时间】:2017-07-27 10:31:42
【问题描述】:
在 Angular 中,路由参数是可观察的对象。我可以订阅这个对象:
this.route.params.subscribe(newValue => ...)
我可以用 Ionic navParams 做类似的事情吗?
constructor(public navParams: NavParams) {
this.videoId = navParams.get('videoId');
}
是否可以将 videoId 转换为可观察值?
例如,我有一个product page。该产品有多种颜色变化。颜色是来自 Nav 参数的参数。用户可以更改颜色,但无需执行 NavCtrl.push(),因为颜色变化太小。这不是历史上的另一页。我只想更改组件中的 this.color。但是我需要订阅组件的颜色变化。
【问题讨论】:
-
Observable.of(navParams.get('videoId'))?你为什么要这个,你想要解决的问题是什么? -
我只想正确地从产品页面导航到另一个产品页面。如果我使用 NavCtrl.push() 执行此操作,则页面将添加到历史记录中,我认为如果新产品仅替换旧产品会更好。
-
为什么会更好?那么用户就不能回到上一个。请edit解释上下文。
-
好的,我更新了问题
-
您可以设置自己的主题,然后将您想要的任何值推入其中(从构造函数中的导航参数值开始)。我写了一篇关于我们如何使用主题的博文:blog.jonrshar.pe/2017/Apr/09/async-angular-data.html。
标签: angular ionic-framework rxjs