0

在 Meteor 中调用任何和每个 Template.rendered 事件时,如何调用函数或运行一些代码?(不仅仅是一个特定的模板)

(有没有办法在不重载流星的基本功能的情况下做到这一点?)

谢谢!

4

1 回答 1

0

一种方法是调用另一种方法:

dothis = function() {
    // Something
}

Template.hello.rendered = function() {
   dothis();
}

Template.hello2.rendered = function() {
   dothis();
}

如果您在渲染中无事可做,您可以:

Template.hello2.rendered = dothis;

也是批量的(如果之前定义过,在运行时将覆盖任何其他渲染):

for(tmpl in Template) {
    Template[tmpl].rendered = dothis;
};

(如果你在让它运行两个回调之前已经定义了一些东西:)

for(tmpl in Template) {
    if(Template[tmpl].rendered) {
        Template[tmpl].rendered = function() {
            var originalfunction = Template[tmpl].rendered;
            var result = originalfunction.apply(this);
            dothis.apply(this);
            return result;
        }
    }
    else
    {
        Template[tmpl].rendered = dothis;
    }
};
于 2013-05-07T08:12:31.447 回答