我有一个带有四个标签的标签,每个标签都有一个带有相同控制器的路径。
所有四个标签共享相同的数据menu
,但使用不同的数据部分。
每次点击标签时,它都会订阅服务器吗?
例如,我第一次点击tab1
时,会联系服务器并获取数据menu
,然后点击tab2
,它会再次联系服务器以获取数据{{ 1}}即使我已经获得了数据?
如果是这样,我该如何避免这种情况?也许我应该重新设计代码,有什么好主意吗?
menu
答案 0 :(得分:0)
随着IR的成熟,这种情况有所改变。我相信当前的实现,如果您在使用相同参数进行相同订阅的路由之间进行更改,则不会停止并再次启动订阅。换句话说,在标签之间切换不应该开始和停止订阅(假设this.params._id
保持不变)。
您可以通过向console.log('here')
发布商的第一行添加menu
来证明(或反驳)此问题。切换选项卡时,请检查命令行控制台。如果'在这里'只打印一次,你就会得到理想的结果。
无论结果如何,subs-manager是在路由之间缓存订阅的普遍接受的解决方案。