2014-01-30 1 views
1

Я хотел бы добавить класс в определенный элемент HTML, исходя из того, выбран ли он в то же время. Он выбирается на основе текущей страницы.Как мне изменить страницу перед тем, как она появится в Ember.js?

По какой-то причине мне трудно найти, как это сделать.

Есть ли крючок или событие, которое я должен искать?

Вот мой маршрут:

App.OptionRoute = Ember.Route.extend({ 
    model: function(params) { 
     return this.modelFor('simpleSearch')[params.question_id]; 
    }, 

    actions: { 
     select: function(optionId) { 
      console.log("Option Route"); 
      console.log(optionId); 
     } 
    } 
}); 

Как бы захватить params.question_id, а затем использовать, чтобы добавить класс к моему элементу?

Должно ли это быть сделано в классе вместо вида?

Спасибо!

ответ

3

В Ember вы должны избегать программной модификации DOM. Если вам нужно ссылаться на текущий вопрос_ид из элемента класса, вы должны использовать bind-attr, чтобы связать question_id с классом из вашего шаблона handlebars.

+0

Ah - Спасибо. Я просто нашел bind-attr. Однако я столкнулся с другой проблемой, и я думаю, что могу открыть для нее новый вопрос. Детский шаблон страницы основан на параметре URL. Но элемент, который я хотел бы привязать к классу, находится в родительском шаблоне, но также основан на том же параметре URL, что и дочерний шаблон. Я не знаю, как получить доступ к параметру URL из родительского маршрута/контроллера/представления. –

Смежные вопросы