我想让这段代码无反应。有办法吗?
Template.foo.helpers({
info: function(){
var user = Meteor.user();
if (user && user.profile)
return user.profile.info;
}
});
我知道有办法当你Foo.find({}, {reactive:false})
我想知道是否有等价物。
我想让这段代码无反应。有办法吗?
Template.foo.helpers({
info: function(){
var user = Meteor.user();
if (user && user.profile)
return user.profile.info;
}
});
我知道有办法当你Foo.find({}, {reactive:false})
我想知道是否有等价物。
我认为您正在寻找的是这里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
}
});
}
});
您正在寻找 Tracker.nonreactive (抱歉回答不佳,我正在使用我的手机)。