繁体   English   中英

防止重新渲染模板的功能

[英]Prevent function from re-rendering template

解决了。 事实证明这完全是另一回事。 感谢所有想要帮助的人,你们要统治!

我会在这里猜测,但需要看看你的代码,以确保我给你一个很好的答案:-)。 您无法阻止被动数据源触发失效,但您可以在非反应性回调中运行某些代码,以确保重新运行代码。

这里有两个例子来说明正在发生的事情。

Template.myTemplate.helpers({
  post: function () {
    var someReactiveVar = Session.get('value');

    return Posts.findOne({_id: 5});
  }
});

在上面的示例中,对post 5或Session的值的更改将触发模板重新运行。 假设我们希望模板仅针对帖子的更改重新运行,而不是针对会话变量重新运行。 我们可以这样做:

Template.myTemplate.helpers({
  post: function () {
    var someNonReactiveVar = Deps.nonreactive(function () { return Session.get('value'); });

    return Post.findOne({_id: 5});
  }
});

现在,仅仅因为我们调用Session.set('value','some other value')模板将不会重新运行,因为我们将get调用包装在Deps.nonreactive回调中。

你看过这个问题的答案了吗? 听起来像你在寻找什么

Meteor.js - 暂时阻止模板重新渲染(禁用反应性)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM