2016-10-12 11 views
0

私の見解では、属性値を別の属性に再コピーする必要があります。ここで Backbone.js初期化時にモデル属性を読み取る

はCoffeeScriptの

class MyFactoryView extends Backbone.View 

    initialize: -> 
    @model.fetch reset: true 
    @model.set('NewStatus', @model.get('CurrentStatus')) 

このコードは、私が得る呼び出す未定義例外をスローで自分のコード内のコードです。

私がconsole.log @ modelsを実行すると、属性にCurrentStatusが表示されます。

+2

['fetch'](http://backbonejs.org/#Model-fetch)はAJAX呼び出しで、コールバックまたはイベントのいずれかを使用する必要があります。 –

答えて

1

mu saidの場合、fetchは非同期であり、完了したら属性にのみアクセスできます。その特定の行については

class MyFactoryView extends Backbone.View 

    initialize: -> 
    @model.fetch 
     reset: true 
     context: @ 
     success -> 
     @model.set('NewStatus', @model.get('CurrentStatus')) 

、同期にNewStatus属性を初期化するために、モデルのparse機能を使用する方が簡単かもしれません。

コンソールにはにはlive referencesが含まれており、何もコピーされないと説明されているthis answerをご覧ください。

関連する問題