0

作成しているEmber.JSアプリに少し問題があります。

    App.userController = Ember.ArrayController.create({
        content: [],

        init: function() {
            this.set('content', []);
            this.refresh();
        },

        refresh: function() {
            //Refresh Action
        }
    });

    App.supplierController = Ember.ArrayController.create({
        content: [],

        init: function() {
            this.set('content', []);
            this.refresh();
        },

        refresh: function() {
            //Refresh Action
        }
    });

    <h1>Users</h1>
    {{#each user in App.userController}}
        {{user.name}} - {{user.age}}
    {{/each}}

    <h1>Suppliers</h1>
    {{#each supplier in App.supplierController}}
        {{supplier.name}} - {{supplier.revenue}}
    {{/each}}

それは動作します...しかし、ユーザーはサプライヤーと同じリストに表示されますか?サプライヤコントローラを取り外すと、正しい位置に表示されます。これはのインスタンスが2つあることと関係があると思いますがEmber.ArrayController、よくわかりません。次のように表示されます。

Users
-----------
Suppliers
-----------
User 1 - 
User 2 -
Supplier 1 - £100

これを表示する必要がある場合:

Users
-----------
User 1 - 30 
User 2 - 25

Suppliers
-----------
Supplier 1 - £100
4

1 に答える 1

1

コードは問題ないようです。のインスタンスが2つあることには何の問題もありませんArrayController。私はあなたの質問に基づいてjsbinを作成し、適切な場所でユーザー/サプライヤーを確認しました。ここでそれをチェックしてください:http://jsbin.com/ovitak/1/edit

あなたの例はデータがどのようにロードされているかを示していないので、私はあなたの期待される出力に基づいてユーザー/サプライヤーのリストを作成するためにrefresh()メソッドを実装しました:

App = Ember.Application.create({});

App.userController = Ember.ArrayController.create({
    content: [],

    init: function() {
        this.set('content', []);
        this.refresh();
    },

    refresh: function() {
      this.addObject({name: 'u 1', age: 22});
      this.addObject({name: 'u 2', age: 35});
    }
});

App.supplierController = Ember.ArrayController.create({
    content: [],

    init: function() {
        this.set('content', []);
        this.refresh();
    },

    refresh: function() {
        //Refresh Action
      this.addObject({name: 'supplier 1', revenue: 200});
    }
});
于 2013-03-11T14:41:50.787 に答える