Как уже упоминалось выше, это current bug и так выше будет , казалось бы, работу , но не будет работать в действительности, как демонстрирует jsFiddle. Решение на данный момент должно пройти в случае контроллера через this.controllerFor
на маршруте. Это далеко не идеальный, но пока этого достаточно.
Это происходит потому, что Эмбер относится к контроллерам с использованием dot.notation, в то время как при использовании верблюжьего или * under_scores *, то это создаст вам различные экземпляры.
Решение внедрить контроллер от вашего маршрута, например:
TravelClient.IndexRoute = Ember.Route.extend({
setupController: function(controller) {
var tourSeatsController = this.controllerFor('tour.seats');
tourSeatsController.set('takenSeatsNumbers', [1,2,3]);
controller.set('tourSeatsController', tourSeatsController);
}
});
И тогда вы можете использовать его на ваш взгляд, как: {{tourSeatsController.takenSeatsNumbers.length}}
.
очень полезный, спасибо, что для объяснения. – xamenrax
Еще один фиктивный вопрос: как я могу установить 'takeSeatsNumbers' обратно в [], если модель в контексте' TourSeatsController' изменилась? – xamenrax
У вас есть '.clear()'. – Wildhoney