2016-10-24 6 views
1

intの配列を埋めるために複数の入力フィールドが必要です。テンプレート上の配列の変更がルート/コントローラ上で更新されない

これは私のテンプレートやルートです:まだテンプレートが最初にレンダリングされると

// Route 
import Ember from 'ember'; 

export default Ember.Route.extend({ 
    setupController() { 
    this.controller.set('myArray', [1]); 
    // ... 
    } 
} 

// Template 
<!-- ... --> 
{{#each myArray as |element|}} 
    {{input type="number" value=element}} 
{{/each}} 

<p>Length: {{myArray.length}}</p> 
<p>First item: {{myArray.[0]}}</p> 

、入力フィールドに値1First item1を示しているが、私は何か他のものへの入力値を変更すると、First item1を示しています。

intの配列をオブジェクトの配列で置き換えると、これはうまく機能しませんでした。 this.controller.set('myArray', [{value: 1}]を入力し、テンプレートでvalueというプロパティを使用してください。できれば、これを避けたいと思います。 intの配列でこれを行うことは可能ですか?

+0

'setupController'は最初の引数として' controller'を受け取ります。それを使用してください。 – locks

答えて

2

intの配列でこれを行うことはできますか?

金田。オブジェクト内のプロパティを変更しているため、オブジェクトと連携します。 数字では不変なので、あまり動かない。代わりに行う必要があるのは、配列内の項目を置き換えることです。

あなたのようなオブジェクトの配列を使うことをお勧めします。

+1

ありがとう!私はそれが問題だと思った。私はオブジェクトの配列に固執するつもりです。理想的ではありませんが、扱いが簡単です。 – Raph

関連する問題