4

テンプレートがレンダリングされるのを待ってから、特定の機能を実行する方法はありますか?

後で試しましたが、うまくいきません。

Router.map(function () {
  this.route('post', {
    path: '/posts/:ll',

    action: function () {
      this.render('home');
    },

    after: function () {
      var n = this.params.ll
       UI.insert(UI.render(Template[n]), document.getElementById("child"))
    }
  });
});

after 関数が起動されたときに「home」テンプレートがまだレンダリングされていないため、子要素がまだ存在していないことがわかります。

提案や回避策は大歓迎です。

4

2 に答える 2

7

あなたはこれができますか:

action: function () {
  this.render('home');
  Template.home.rendered = function() {
    // ...
    Template.home.rendered = null;
  };
},
于 2013-12-29T09:37:38.903 に答える
0

onAfterActionの代わりに使用after

https://github.com/EventedMind/iron-router/blob/master/DOCS.md#before-and-after-hooks

于 2014-04-24T04:11:19.617 に答える