gpt4 book ai didi

meteor - 比较 Meteor.subscribe() 或 this.subscribe() [Meteor + Blaze]

转载 作者:行者123 更新时间:2023-12-02 03:08:18 28 4
gpt4 key购买 nike

我有两个页面/模板,

  1. 仪表板(还包含一些用户特定数据)。
  2. 用户。

我正在使用带有 Blaze 模板的 Meteor 1.5。登陆页面是仪表板。我在两个模板中都使用集合 Users 的通用订阅。

场景 1

当我在仪表板template.onCreated()中使用Meteor.subscribe('Users')并转到Users 页面,我看到一些已订阅的数据从 Dashboard 的 订阅返回。

代码:

Template.DashBoard.onCreated(function(){
Meteor.subscribe('Users');
});

Template.Users.onCreated(function(){
Meteor.subscribe('Users');
});

场景 2

当我在仪表板template.onCreated()中使用this.subscribe('Users')并转到Users 页面,我在这里进行了新订阅,并且没有从 Dashboard 的 订阅中继承任何数据。

代码:

Template.DashBoard.onCreated(function(){
this.subscribe('Users');
});

Template.Users.onCreated(function(){
this.subscribe('Users');
});

问题

Meteor.subscribe('Users')this.subscribe('Users') 之间有什么区别?使用 this.subscribe('Users') 会产生什么影响?

最佳答案

正如 Meteor 文档中所解释的,当模板实例被销毁时,模板代码中的 this.subscribe 将自动取消订阅。

Meteor.subscribe 如果您愿意,则需要显式取消订阅。

决定使用其中之一取决于您的应用结构。如果您确定数据仅与给定模板相关,则使用模板范围订阅,即 this.subscribe

如果数据跨多个页面使用,请使用“全局”表单,或将范围限制在更高的模板级别(在整个页面中持续存在的模板级别,例如在布局上)。

关于meteor - 比较 Meteor.subscribe() 或 this.subscribe() [Meteor + Blaze],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49708151/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com