У меня есть такой компонент:Emberjs 1.13.0-Call Действие Компонент
App.MyNiceComponent = Ember.component.extend({
actions: {
save: function() { … }
}
});
Шаблон для него:
<h1>My Nice Component</h1>
{{ yield this }}
Нигде в другом шаблоне:
{{#my-nice as |mn| }}
…
<a onclick={{ action 'save' }}>Save</save>
{{/my-nice}}
Щелкнув мышью на Link make Ember попытается вызвать действие в контроллере маршрутов. Я думаю, это потому, что версия, которую мы используем здесь, настолько старая, но есть ли способ заставить ember вызвать компоненты Action или просто передать ссылку на ссылку на ссылку, чтобы это вызвало?
В другом компоненте, который разработан, чтобы иметь некоторые дочерние компоненты, что я мог сделать это так:
App.AChildComponent = Ember.Component.extend({
targetObject: Em.computed.alias('parentView'),
task: '',
action: 'onChildClick', //present as Action in the parent Compoent
click: function(){
this.sendAction('action', this.get('task'));
}
})
В HBS это будет выглядеть так:
{{#my-nice}}
{{#a-child task="do this"}}
{{/my-nice}}
В этом случай, который я действительно хотел бы сделать ember, запускать действия с compoents, без пути через контроллер ...
Заранее спасибо.
Вы можете принять мой ответ? Это поможет другим – maheshiv