4

Ember.jsでネストされたリストとして表示したい2レベルのディープデータモデルがあります。単純なバージョンを実行すると、非常にうまく機能します。

    {{#each parent in content}}
    <p>Table {{parent.id}}</p>
          <ul>
              {{#each item in parent.children}}
                <ul>
                  <li>{{item.position}}</li>
                  <li>{{item.position}}</li>
                  <li>{{item.position}}</li>
                </ul>
              {{/each}}
            </ul>
    {{/each}}

http://jsfiddle.net/krumpi/TdZJG/

ただし、モデルのプロパティを生の文字列として表示する代わりに、ネストされたEmber.SelectおよびEmber.TextAreaビューを使用すると、パフォーマンスが大幅に低下します。ロードボタンを押してページにコントロールを表示するには、かなり時間がかかります。

    {{#each parent in content}}
            <ul>
              {{#each item in parent.children}}
                <ul>
                  <li>pos: {{item.position}}</li>
                  <li>
                    {{view Ember.Select
                        class="input-small"
                        contentBinding="App.CheckValues"
                        selectionBinding="item.status"}}
                  </li>
                  <li>{{view Ember.TextArea class="textarea-animated" name="description" valueBinding="item.comment"}}</li>
                </ul>
              {{/each}}
            </ul>
    {{/each}}

http://jsfiddle.net/krumpi/wtwHN/

パフォーマンスを改善する方法について何か提案がありますか。これはember-1.0.0-pre4で行われます

4

1 に答える 1

0

Ember select および textarea ビューを使用する代わりに、それらに通常の html タグを使用し、属性のみをバインドします。これらのビューは通常、より多くのメモリを占有し、ネストされた構造内にそれらを書き込むと、コードの実行が遅くなることが予想されます。

于 2013-10-22T06:21:43.603 に答える