1

我发现当我action按照现在的建议将表单的操作处理程序放入控制器属性时,这些处理程序在 Ember 调试器中不再可见。这是正确的还是我错过了什么?

为了说明......我有以下控制器:

App.UomsController = Ember.ArrayController.extend({
    testing: null,
    actions: {
        addUom: function() {
            var router = this.get('target');
            router.transitionTo('uoms.new');
        }       
    }
});

该属性testing在调试器中显示得足够清楚,但没有动作,因此无法访问该addUom方法。

4

1 回答 1

1

Ember.ActionHandleractions管理。目前,它会在属性中复制该信息。所以controller._actions.someAction,会返回action handler。_actions

例如:

App.IndexController = Ember.Controller.extend({
    actions: {
        lorem: Ember.K,
        ipsum: Ember.K,
        showActionsInController: function() {            
            alert(Ember.keys(this._actions)); // will display 'lorem,ipsum,showActionsInController'
        }
    }
});

这是一个实际操作中的小提琴http://jsfiddle.net/marciojunior/8xfRJ/

于 2013-09-20T13:33:12.780 回答