使用する必要があります:
this.set('id', globalCounter);
それ以外のthis.id = globalCounter;
Model オブジェクトに id 値を追加していますが、それをModel.attributesオブジェクトに追加したいと考えています。そして、Model.set() メソッドを実行していること。
model.set("key", value)
値を入れますmodel.attributes.key;
model.get("key")
内部の値を返しますmodel.attributes.key
これは Backbone の初心者にとっては少し奇妙ですが、重要な (そして簡単な) ポイントです。model.set(...)
を使用すると、簡単にキャッチしてビューを更新できる変更イベントが発生するように設計されています。
バックボーンと ES6 の更新:
Backbone 属性オブジェクトは、ES6 の getter および setter によって古くなっています。これらの関数は、標準アクセスを上書きできます。
警告: これは ES6 でいつか使用される可能性のある疑似コードです!
class MyModel extends Backbone.Model{
get id(){ return this.attributes.id; }
set id(id){ this.attributes.id = id; }
}
これにより、次のように書くことができます:
let myModel = new Model();
myModel.id = 13; // will use myModel.id(13)
console.log (myModel.id); // will show myModel.id()
今日の時点では、これは Backbone 2 の夢にすぎません。