Значение, полученное из помощников (each
в вашем случае), не может быть изменено с помощью помощника mut
, поскольку помощники обычно не передают или не удерживают значения для изменения исходного свойства.
Например,
Имеет смысл, если мы изменяем значение, как показано ниже, где capitalize
- помощник:
<button {{action (mut name) (capitalize name)}}>
Capitalize
</button>
, однако, нижеприведенный фрагмент не подходит как возвращение помощника значение в одну сторону!
<button {{action (mut (capitalize name)) name}}>
Capitalize
</button>
То же самое происходит с помощником each
, и значение в цикле не может быть изменено! Этот код комментария может быть полезен для дальнейшего копания.
Вместо этого вы можете изменить свой фрагмент для обработки onChange
в классе компонента поддержки:
<div>
{{#each this.args.model.list as |name index|}}
<div>
<PaperInput @value={{ name }}
@placeholder="Enter a Name"
@onChange={{this.changeName index}}/>
</div>
{{/each}}
</div>
// component.js
changeName(index, nameToBeUpdated) {
// change the name here...
}