Установить Ember Application View Class только для домашней страницы
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я довольно новичок в Эмбер, так что полегче.:)
Я пытаюсь сделать так, чтобы класс отображался как "is-home" в div для представления приложения, которое отображается, если значение App.get ('currentPath') установлено в 'index'. Приведенный ниже код работает для установки класса, однако, он делает это только при загрузке. Если вы загрузите страницу и нажмете на ссылку, логика не будет перезапущена для удаления класса, если вы уходите с домашней страницы или добавляете ее, если вы вошли на другую страницу, но затем переходите на домашнюю страницу. Я убежден, что упускаю что-то простое.
Любая помощь будет оценена!
Текущий код (Примечание: я использую Ember App Kit)
// app/views/application.js
export default Ember.View.extend({
classNameBindings: ['isHome'],
isHome: function() {
if (App.get('currentPath') == 'index') {
return true;
} else {
return false;
}
}.property()
});
Функциональность App.get ('currentPath') основана на этом ответе /questions/24545134/poluchit-tekuschee-nazvanie-marshruta-v-ember/24545147#24545147.
1 ответ
Вы должны указать свойство обновлять, когда currentPath
изменения собственности.
isHome: function() { ... }.property('currentPath')
Однако я не уверен на 100%, найдет ли он currentPath
свойство в представлении, так как оно технически существует на контроллере. Возможно, вам придется смотреть controller.currentPath
вместо.