У меня есть этот видember.js, вызвать действие программно
App.ApplicationView = Em.View.extend({
templateName: 'application',
actions: {
myAction: function() {
//
}
}
});
Предположим, что я хочу, чтобы вызвать вручную, что действие от другого метода представления, такие как didInsertElement, как:
App.ApplicationView = Em.View.extend({
templateName: 'application',
actions: {
sidebarShowHome: function() {
this.set('sidebarIsHome', true);
this.set('sidebarIsNotifications', false);
this.set('sidebarIsArchive', false);
},
},
didInsertElement: function() {
this.actions.sidebarShowHome();
}
});
Как мог Я делаю это? this.actions не определено из метода просмотра.
Спасибо, отлично! –
@intuitivepixel Есть ли способ передать аргумент в действие? –
@JonKoops, чтобы действительно передать аргументы, вы должны использовать контекст и контроллер, которые можно передать: http://emberjs.com/api/classes/Ember.TargetActionSupport.html#method_triggerAction и получить оттуда нужные значения/params и т. д. – intuitivepixel