1

現在推奨されているように、フォームのアクション ハンドラーを controllersactionプロパティに配置すると、これらのハンドラーが 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 はアクション ハンドラーを返します。_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 に答える