9

私は残り火アプリケーションを作ろうとしています。計算されたプロパティがあり、コントローラーは次のようになります。

// The Controller

Todos.Controller = Ember.Controller.create({

    // ** SNIP ** //

    countCompleted: function()
    {
        return this.get('todos').filterProperty('completed', true).length
    }.property(),
});

// The View

{{Todos.Controller.countCompleted.property}} Items Left

現在、私がフォローしているチュートリアルでは、古いバージョンの Ember.JS を使用しています。すべてのエラーを修正しましたが、これは次のとおりです。

Uncaught Error: assertion failed: Ember.Object.create no longer supports defining computed properties.

これを行う別の方法は何ですか?

4

2 に答える 2

10

create()計算されたプロパティは、オブジェクトの関数でのみ廃止されます。計算されたプロパティを作成する場合は、最初extend()にオブジェクトを作成し、次にオブジェクトを作成する必要がありますcreate()

例えば:

// The Controller

Todos.TodosController = Ember.Controller.extend({

    // ** SNIP ** //

    countCompleted: function()
    {
        return this.get('todos').filterProperty('completed', true).length
    }.property(),
});

// Note the lower case 't' here. We've made a new object
Todos.todosController = Todos.TodosController.create();

// The View


// We reference the created object here (note the lower case 't' in 'todosController')
{{Todos.todosController .countCompleted.property}} Items Left
于 2013-02-11T12:29:15.400 に答える