2013-02-12 3 views
6

В следующем Layout, я добавляю CollectionView для отображения списка SELECT в пределах onRender. Сразу же после этого я использую хеш ui для включения или отключения всех элементов управления в представлении. Это не работает для SELECT, сгенерированного new App.View.Categories.Проблемы с UI-хешем с макетом макетной магии

Должно ли это? Или же хэш не работает на Regions в пределах Layout?

ответ

11

Это должно работать так, как вы ожидаете, что оно будет работать. Код в вопросе в источнике марионеток здесь: https://github.com/marionettejs/backbone.marionette/blob/master/src/marionette.itemview.js#L49-L51

вызова bindUIElements() является то, что преобразует ui хэша, чтобы объекты селектора JQuery, и он вызывается непосредственно перед вызовом метода onRender называется.

Вы видите ошибки? Или селектор просто ничего не возвращает и не влияет на элементы?


Update:

Ах! Конечно ... Я не обращал внимания на ваш код достаточно близко. Вы правы в том, что селектор элементов пользовательского интерфейса происходит до того, как вы добавите подзадачу в регион. Я никогда не сталкивался с этой ситуацией раньше ... но это похоже на то, что мы хотели бы исправить/поддержать.

На данный момент лучшим обходным решением, которое я могу предложить, было бы назвать «this.bindUIElements();» в самом конце вашего метода onRender. Это заставит элементы ui повторно привязываться к селекторам.

Я также добавлю проблему в список проблем github, чтобы найти лучшее решение для этого. Я не знаю, когда я смогу дойти до этого, но это, по крайней мере, будет в списке вещей, которые нужно исправить.

+0

Ошибок не существует. Я добавил несколько примеров console.logs выше. Селектор отключает выбор, но он возвращает два других элемента. Как вы можете видеть на втором console.log, тот же селектор, завернутый в $ works. – Bart

+0

Глядя на источник, я думаю, что вижу проблему. Эти элементы привязаны до того, как элемент SELECT добавлен в onRender. Возможно, добавление таких регионов, как onRender, не является лучшей практикой. Есть ли у вас другая рекомендация? – Bart

+0

Спасибо за обновление! – Bart

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

  • Нет связанных вопросов^_^