2014-10-01 2 views
1

У меня есть контроллер массива, где мне нужно значение, которое укажет, какой элемент в массиве был выбран в пользовательском интерфейсе. Я моделируюсь, что я делаю после того, как этот пост:Ember - вычисляемое свойство, не обжига/обновление

https://teamgaslight.com/blog/intermediate-ember-controller-concepts

Кажется довольно простым, но в моем приложении, я использую {{}} оказание помощник. Помощник рендеринга должен иметь несколько списков, подобных этому

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

вот JSBin, которая иллюстрирует мою проблему (обратите внимание, что вам нужно нажать на пункте-х государств, чтобы раскрыть список состояний):

http://jsbin.com/fucaqe/1/

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

вещей Я подтвердил:

    недвижимость
  • «Требуется» настроен правильно на контроллере элемента
  • .Property Свойство() на регуляторе пункт указывает на соответствующее поле на контроллере массива
  • Ответы на подобные вопросы по SO не адекватно решены my issue

ответ

1

Вы не можете использовать потребности на контроллере, который не является одиночным, а контроллеры, которые не являются одиночными, не имеют смысла (например, элементы контроллера элемента).

Дополнительные вычислительные свойства не вычисляются, если только что-то не пытается их получить.

Пример: http://jsbin.com/zevuzo/1/edit

http://emberjs.com/guides/controllers/dependencies-between-controllers/

+0

На контроллере состояния объекта, есть вычисленная свойство '' IsSelected доступ к которой осуществляется на шаблоне с помощью {{связывать-атр}}. Это свойство, которое не обновляется, как я ожидаю. Я вижу, что вы сделали, чтобы отобразить имя состояния и помощь, но часть isSelected больше беспокоит. – Scot

+0

Также есть ли какая-либо документация, которая описывает, когда потребности будут и не будут работать? В руководствах и документах на emberjs.com нет никаких указаний на то, что свойство «needs» не работает в некоторых случаях – Scot

+0

Я имел в виду выбранное имяStateName, что означает, что я неправильно понял ваш вопрос. Я обновил ответ, вам следует использовать parentController, когда вы используете itemController – Kingpin2k

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