【问题标题】:How Do I Make A Meteor Helper Non-Reactive?如何使 Meteor Helper 无反应?
【发布时间】:2015-05-25 16:12:48
【问题描述】:

我想让这段代码没有反应。有什么办法吗?

Template.foo.helpers({
    info: function(){
        var user = Meteor.user();
            if (user && user.profile)
                return user.profile.info;
    }
});

我知道有办法当你Foo.find({}, {reactive:false})

我想知道是否有等价物。

【问题讨论】:

    标签: javascript meteor meteor-helper


    【解决方案1】:

    我认为您正在寻找的是Tracker.nonreactive(func) 描述的here 函数。根据文档,您需要将一个函数传递给该函数以执行,该函数的结果将由该函数返回。此外,此函数不会关注您自己定义的函数中的任何响应式数据源更新。

    我建议像这样重写你的辅助函数:

    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
                }
            });
        }
    });
    

    【讨论】:

      【解决方案2】:

      您正在寻找 Tracker.nonreactive(抱歉,我正在使用手机)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-18
        相关资源
        最近更新 更多