Как мне получить доступ к переменным Ember Route в Handlebars?

1

Сегодня я заметил что-то интересное.

Если я создаю переменную в моем контроллере

export default Ember.Controller.extend({
   controllerFoo: "Cut"
});

И я создаю аналогичную переменную в своем маршруте

export default Ember.Route.extend({
    routeFoo: "Copy"
});

что когда я печатаю его в.hbs:

controllerFoo:{{controllerFoo}}
<hr>
routeFoo: {{routeFoo}}

будет отображаться только контроллер. Я думал, что переменные Route и Controller могут использоваться взаимозаменяемо. Если бы я хотел использовать переменную маршрута, как я мог это сделать? Или, может быть, это плохая практика?

  • 1
    контекст шаблона - это контроллер, по умолчанию все, что вы вернете из ловушки модели, будет установлено как свойство model в контроллере, если вам нужно что-то кроме этого, вам нужно использовать setupController
Теги:
ember.js

1 ответ

2
Лучший ответ

Контекст шаблона - это контроллер, поэтому в основном состояние будет поддерживаться контроллером. Если в случае, если вам нужно передать какое-либо свойство из маршрута в шаблон, вам нужно использовать крючок model маршрута или использовать setupController Route Route и установить необходимые свойства в контроллере.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню