Как описано в http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_get , должна быть возможность использовать помощник mut
внутри помощника action
для обновления недвижимость следующим образом:
<!-- factName is set to "height" and should be changed to "weight" -->
<button {{action (mut factName) "weight"}}>Show weight</button>
Однако вместо обновления factName
Ember пытается вызвать действие, названное в честь текущего значения factName
:
error Script error. (line 0)
ember.debug.js:44562 Uncaught Error: Nothing handled the action 'height'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.
Я не знаю, является ли это ошибкой или помощник mut
никогда не предназначался для такой работы.
Тестовый пример: http://emberjs.jsbin.com/radogusojex
Я не думаю, что синтаксис действий в пространстве элементов позволяет это, возможно, вам придется использовать закрывающие действия для этого поведения:
<button onclick={{action (mut factName) "weight"}}>Show weight</button>
Что ж, в таком случае документация должна это отразить.
Извините за то, что был слишком резок раньше, я говорил о реализации (а не о том, что мы на самом деле хотим поддерживать). Я думаю, что специальный корпус (mut helper, как это сделано в других частях системы, кажется совершенно нормальным.
Нам действительно нужно решить немного более комплексно, что мы подразумеваем как судьбу элемента космического актуона ...
В дополнение к решению, предложенному @rwjblue , есть еще один способ решить эту проблему:
<button {{action (action mut factName) "weight")}}>Show weight</button>
Я отредактировал ваш JS Bin, чтобы продемонстрировать это: http://emberjs.jsbin.com/qavaki/1
Самый полезный комментарий
В дополнение к решению, предложенному @rwjblue , есть еще один способ решить эту проблему:
Я отредактировал ваш JS Bin, чтобы продемонстрировать это: http://emberjs.jsbin.com/qavaki/1