Conforme documentado em http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_get , deve ser possível usar o mut
helper dentro do action
helper para atualizar uma propriedade da seguinte forma:
<!-- factName is set to "height" and should be changed to "weight" -->
<button {{action (mut factName) "weight"}}>Show weight</button>
No entanto, em vez de atualizar factName
, Ember tenta invocar uma ação nomeada após o valor atual de 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.
Não sei se isso é um bug ou se o auxiliar mut
nunca foi projetado para funcionar dessa forma.
Caso de teste: http://emberjs.jsbin.com/radogusojex
Eu não acho que a sintaxe de ação de espaço do elemento permite isso, você pode ter que usar ações de fechamento para este comportamento:
<button onclick={{action (mut factName) "weight"}}>Show weight</button>
Bem, nesse caso, a documentação deve refletir isso.
Desculpe por ter sido tão abrupto antes, eu estava falando sobre a implementação (não é o que realmente queremos apoiar). Acho que esse invólucro especial (mut helper, como é feito em outras partes do sistema, parece perfeitamente adequado.
Precisamos decidir um pouco mais holisticamente o que pretendemos como o destino do elemento espaço atuon ...
Além da solução proposta por @rwjblue , outra forma de resolvê-lo é:
<button {{action (action mut factName) "weight")}}>Show weight</button>
Eu editei seu JS Bin para demonstrá-lo: http://emberjs.jsbin.com/qavaki/1
Comentários muito úteis
Além da solução proposta por @rwjblue , outra forma de resolvê-lo é:
Eu editei seu JS Bin para demonstrá-lo: http://emberjs.jsbin.com/qavaki/1