0

私のルーターから、私はビューをレンダリングしています:

App.MonthSummaryRoute = Ember.Route.extend({
    events: {
        selectTab: function(name) {
            this.render(name, { into: 'month/summary', outlet: 'tab' });
        }
    }
});

例として、名前は"summaryCompany"です。私が追加した場合

<script type="text/x-handlebars" data-template-name="summaryCompany">
    <h2>Test template</h2>
</script>

このテンプレートが表示されます。しかし、イベントを処理するビューを追加しようとしました:

App.SummaryCompanyView = Ember.View.extend({
    didInsertElement: function() {
      console.log('here');
    }
});

そして、私は何も得ていません。私は何が欠けていますか?

4

1 に答える 1

1

選択したコード全体、または JSBin / JSFiddle を提供していただけますか?

可能なアプローチ:

  1. month/summaryテンプレート/ルート/ビューには何がありますか?
  2. renderたぶん、イベントから呼び出すことはできません。内部からレンダリングする代わりにselectTab、ルートのrenderTemplateフックからレンダリングするとどうなりますか? renderTemplate: function() { this.render("summaryCompanyView", { into: 'month/summary', outlet: 'tab' }); }
  3. ビューがまったく挿入されているかどうかを確認することができます: Web インスペクターで、ビューに対応する div の ember-id を見つけます (のようなもので、(または任意の ID<div id="ember310" ...>を介して) 実際のビュー オブジェクトにアクセスします Ember.Views.views.ember310。ビューのクラスを確認できます。それApp.SummaryCompanyViewがジェネリックかどうかを確認しますEmber.View
  4. 最後に、インライン テンプレートを削除し、View オブジェクトでテンプレートを指定するとどうなりますtemplateNameか?
于 2013-08-01T00:25:19.017 に答える