[英]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回调中。
你看过这个问题的答案了吗? 听起来像你在寻找什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.