Ember.ViewState和事件处理程序

时间:2012-04-17 12:16:41

标签: ember.js

我尝试使用Ember.StateManager并遇到以下问题。我有一个像这样的事件处理程序的视图:

App.TestView : Ember.View.extend({
   click: function(evt){
      console.log("hello");
   } 
})

当我手动附加视图时

Ember.$().ready(function(){
    var testView = App.TestView.create();
    testView.append();
)}

点击事件有效。

但是当我使用状态管理器时:

App.statechart = Ember.StateManager.create({

    start: Ember.ViewState.create({

        view: App.TestView;

    )}
)}

点击事件不再有效。 我的代码出了什么问题?

1 个答案:

答案 0 :(得分:1)

除了代码示例中的语法错误之外,它还有效,请参阅http://jsfiddle.net/pangratz666/c3EY3/

App.TestView = Ember.View.extend({
    templateName: 'testView',
    click: function(evt) {
        console.log("hello");
    }
});

App.statechart = Ember.StateManager.create({
    start: Ember.ViewState.create({
        view: App.TestView
    })
});​

您使用的是哪个版本的Ember.js?您在view上将视图类指定为Ember.StateView属性,自提交bc4d813d以来一直受支持( 2011-01-17 ,自版本以来可用) v0.9.4 )。以前,您必须指定视图的具体实例。