0

Meteor ですべての Template.rendered イベントが呼び出されたときに関数を呼び出したり、コードを実行したりするにはどうすればよいですか? (特定のテンプレートだけではありません)

(流星の基本機能を過負荷にせずにこれを行う方法はありますか?)

ありがとう!

4

1 に答える 1

0

1 つの方法は、別のメソッドを呼び出すことです。

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 に答える