1

複数のページを含むフローがあり、'transitionTo' を使用して既に表示されているルート/ビューに戻ると、'didInsertElement' メソッドが呼び出されません。(ただし、ビューが最初に表示されたときに発生しました)

ビューが表示されるたびに呼び出される、ビューがフックできるイベントはありますか?

私のルートは次のようになります

App.Router.map(function() {
    this.resource("parent", { path: "/parent" }, function() {
        this.resource("child", { path: "/child" });
    });
});

したがって、子ビューにいるときに次のように呼び出します。

this.transitionTo('parent')

親ビューは「didInsertElement」を起動しません。

4

3 に答える 3

0

子は親のアウトレット内でレンダリングされるため、親はすでにレンダリングされています。親ビューに戻るときに何をしようとしていますか? あなたが望むことをするためのより良い方法があるかもしれません

于 2013-06-05T01:18:40.067 に答える
0

ルートがネストされている場合、テンプレートもネストされている必要があります。したがって、テンプレートは次のようになると思います。

<script type="text/x-handlebars" data-template-name="parent">
  <!-- Your parent View stuff -->

  {{outlet}} <!-- This is where your child gets rendered
</script>

したがって、親ビューのものは既に挿入されており、挿入されたままです。親に出入りするときに、どこにも行かないはずです。

親に戻った後に didInsertElement が必要であることを正確に何をしようとしていますか。didInsertElement フックは、jQuery プラグインの設定など、実際には低レベルの dom 操作用です。アプリケーション ロジックをさらに実行しようとしている場合は、おそらく別の場所に属しています。

于 2013-06-05T01:22:49.733 に答える