Я обновляю следующий маршрут:действия Доступ из внутри маршрута в ember.js
App.SomeRoute = Ember.Route.extend({
events: {
getMore: function(){
var controller = this.get('controller'),
nextPage = controller.get('page') + 1,
perPage = controller.get('perPage'),
items;
items = this.events.fetchPage(nextPage, perPage);
controller.gotMore(items, nextPage);
},
fetchPage: function(page, perPage){
. . . .
}
}
});
По большей части, это работает отлично. Однако синтаксис events
устарел. Вместо этого мы должны использовать actions
. Обновление, которое работает достаточно хорошо, пока я не добраться до линии:
items = this.events.fetchPage(nextPage, perPage);
Это бросает ошибку:
TypeError: this.events is null
К сожалению, я получаю ту же ошибку, если я обновляю код:
items = this.actions.fetchPage(nextPage, perPage);
=> TypeError: this.actions is null
Как я могу получить доступ к методам действий из одного и того же маршрута?
Это делает. Спасибо! – nullnullnull
FWIW, если вы хотите заглушить действие в одном из своих тестов (например, с помощью Sinon), вы можете получить доступ к действию с помощью символа подчеркивания: sinon.spy (route._actions, 'getMore') Do not сделайте это в своем обычном коде. –