如何调试缺少的视图

时间:2013-07-31 19:42:10

标签: ember.js

从我的路由器,我正在渲染一个视图:

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');
    }
});

我没有得到任何东西。我错过了什么?

1 个答案:

答案 0 :(得分: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(某些信号,如<div id="ember310" ...>,然后通过{{1}访问实际的视图对象(或任何ID)。您可以查看视图的类,看看它是Ember.Views.views.ember310还是通用App.SummaryCompanyView
  4. 最后,如果您删除内联模板并通过Ember.View在View对象上指定模板会发生什么?