2015-06-18 2 views
0

Не уверен, что это ошибка или предполагаемое поведение. Я создал объект Ember.Object, который включает ControllerMixin. Это дает функцию send, которая должна иметь возможность находить функции в объекте actions. Однако он не может этого сделать. Вместо этого он выглядит в приватном объекте _actions, так что если я поместил свои действия внутри _actions, все будет работать. Это предназначено? Если да, то почему?Объект ControllerMixin `actions` не распознается в` send`

Пример кода:

import Ember from 'ember'; 
const { Component, on } = Ember; 

export default Component.extend({ 

    triggerFoo: on('init', function() { 
    const bar = this.get('bar'); 
    bar.send('foo'); 
    }) 

}); 

...

import Ember from 'ember'; 
const { ControllerMixin } = Ember; 

export default Ember.Object.extend(ControllerMixin, { 

    _actions: { 

    foo() { 
     console.log('`foo` was triggered'); 
    } 

    } 
}); 
+0

не могли бы вы предоставить код? – engma

+0

@engma обновлен с образцом кода. – nullnullnull

ответ

1

Вы можете найти объяснение здесь: https://github.com/emberjs/ember.js/issues/9459

TL; DR имеет проблемы обратной совместимости с тех дней, когда действия было а не специальное свойство, и вы можете использовать действия, чтобы быть чем угодно. Его можно зафиксировать в Ember 2.0.

Смежные вопросы