我有一个字符串数组,我将其呈现为输入列表。 然后有一种方法可以将新项目(新输入)添加到此列表中。
但是,当更改输入中的文本然后添加新项目时,之前对旧输入所做的所有更改都将消失 - 而且控制器中的字符串数组也不会更改。
这是一个代码: http://ember-twiddle.com/653be725890f234931dd
如何保留对"旧输入所做的更改"? 我对这种行为感到非常惊讶,因为在角度来看,这是一件很常见的事情,而且开箱即用...所以我想我必须在这里做一些非常错误的事情:(
答案 0 :(得分:0)
我测试了一种解决问题的方法,但也许有更好的方法,但它可以创建一个函数来执行值索引的变化和控制器中有变化的报告,对不起英语Google翻译
Template:
{{#each valueList key="@index" as |value index|}}
<div>{{input value=value change=(action 'updateItem' index)}}</div>
{{/each}}
Controller:
actions : {
updateItem : function( index ) {
this.get( 'valueList' )[ index ] = event.target.value;
this.notifyPropertyChange( 'valueList' );
},
},