San*_*Kim 7 javascript meteor meteor-helper
我想让这段代码无反应.有办法吗?
Template.foo.helpers({
info: function(){
var user = Meteor.user();
if (user && user.profile)
return user.profile.info;
}
});
Run Code Online (Sandbox Code Playgroud)
我知道你有办法 Foo.find({}, {reactive:false})
我想知道是否有相同的东西.
n4t*_*t4r 13
我认为你要找的是这里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
}
});
}
});
Run Code Online (Sandbox Code Playgroud)