如果你想获得新的价值,那么你必须取消订阅上次订阅,并再次订阅新值。你可以在角2流星中这样做。
在服务器端发布
if (Meteor.isServer) {
Meteor.publish('user.teams', function(option : string) {
console.log(option); // you will get your dynamic param value in option
return findUserTeams.find({"team": option}); // apply your query here
});
}
,并在客户端,你可以做这样的事情。
userteamdata: Observable <any[]> ;
userteamSub: Subscription;
this.userteamSub = MeteorObservable.subscribe('user.teams', extraTeamId).subscribe(() => {
this.userteamdata = findUserTeam.find({}).zone();
});
现在
当你extraTeamId值的变化则可以检测到变化 ,做这样的事情
valuechangefunction(){
if (this.userteamSub) {
this.userteamSub.unsubscribe();
}
this.userteamSub = MeteorObservable.subscribe('user.teams', extraTeamId).subscribe(() => {
this.userteamdata = findUserTeam.find({}).zone();
});
}
我希望这将有助于在这个[链接:)
查找反应性改变部分](https://angular-meteor.com/tutorials/socially/angular2/search-sort-pagination-and-reactive-vars),我认为它会符合你的需求 – Khang
谢谢你,我没有看到这个实现之前,但我喜欢!也许我会尝试一个更简单的版本。 –