如何让 Meteor Helper 不响应?
How Do I Make A Meteor Helper Non-Reactive?
我想让这段代码成为非反应性的。有办法吗?
Template.foo.helpers({
info: function(){
var user = Meteor.user();
if (user && user.profile)
return user.profile.info;
}
});
我知道当你是Foo.find({}, {reactive:false})
时有办法
我想知道是否有等效项。
您正在寻找 Tracker.nonreactive(抱歉回答不佳,我正在使用我的 phone)。
我认为您要找的是 here 中描述的 Tracker.nonreactive(func)
函数。根据文档,您需要将一个函数传递给要执行的函数,该函数的结果将由该函数返回。此外,此函数不会关注您自己定义的函数中的任何反应性数据源更新。
我建议像这样重写你的辅助函数:
Template.foo.helpers({
info: function() {
return Tracker.nonreactive(function() {
var user = Meteor.user();
if(user && user.profile) {
return user.profile.info;
} else {
// return some other appropriate value if the if-statement above
// is not fulfilled
}
});
}
});
我想让这段代码成为非反应性的。有办法吗?
Template.foo.helpers({
info: function(){
var user = Meteor.user();
if (user && user.profile)
return user.profile.info;
}
});
我知道当你是Foo.find({}, {reactive:false})
我想知道是否有等效项。
您正在寻找 Tracker.nonreactive(抱歉回答不佳,我正在使用我的 phone)。
我认为您要找的是 here 中描述的 Tracker.nonreactive(func)
函数。根据文档,您需要将一个函数传递给要执行的函数,该函数的结果将由该函数返回。此外,此函数不会关注您自己定义的函数中的任何反应性数据源更新。
我建议像这样重写你的辅助函数:
Template.foo.helpers({
info: function() {
return Tracker.nonreactive(function() {
var user = Meteor.user();
if(user && user.profile) {
return user.profile.info;
} else {
// return some other appropriate value if the if-statement above
// is not fulfilled
}
});
}
});