Angular - Meteor订阅/收藏

时间:2016-02-09 01:28:44

标签: angularjs meteor

我是Metoer的新手,我有两个与流星收集和订阅相关的愚蠢问题。

1)据我所知,如果我在我的一个控制器中订阅了一个集合,它会将数据加载到我的本地集合中并保持持久直到我停止订阅。我的问题是,如果我有不同的视图需要访问相同的集合,但视图是彼此独立的,这意味着,用户可以访问任何视图而无需先访问其他视图。

例如,如果我有视图显示当前用户托管的所有方以及其他用户托管的所有方。订阅它的最佳方式是什么?我原本以为我可以在一个控制器中订阅以获取所有文档并在集合选择器中进行过滤。但这不会起作用,因为用户可以先访问任何视图。所以我最终在两个控制器中订阅了它。这是正确的做法吗?

$meteor.subscribe('parties').then(function(){
      ....
 });

$scope.parties= $meteor.collection(function(){
     return Parties.find({// select either my parties or others' parties});
});

2)我的第二个问题是,如果我有一个列表视图和一个详细信息视图,我试图在详细信息视图的控制器中访问该对象。

$scope.party = $meteor.object(Parties, $stateParams.partyId);

如果我从列表视图中单击详细信息按钮,这可以正常工作,因为列表视图的控制器已订阅了所有文档。

但是,如果用户从浏览器刷新页面(不是在流星应用程序中,但我们无法阻止用户这样做)?该对象无法访问。 我们如何在Meteor应用程序中处理这个问题?我不想在详细信息视图中再次订阅它,即使这样可以解决问题。

0 个答案:

没有答案
相关问题