8

常にどちらか一方を同等に使用しますか?

これらはコンソールに同じものを出力します

class Model extends Backbone.Model
  defaults:
    some: 'thing'
    other: 'item'

model = new Model

console.log model.attributes
console.log model.toJSON()
4

1 に答える 1

14

toJSON()は、JavaScript JSON シリアライザーがオブジェクトをシリアライズするときに検索する標準メソッドです。

Backbone のコンテキストでは、モデルでtoJSONをオーバーライドすると、保存時にサーバーに送信される値の形式を変更できます。たとえば、タイム スタンプなどの読み取り専用フィールドを除外できます。

attributesは、モデル データを含む JavaScript オブジェクトであり、model.set() を使用すると変更されます。set() を使用して値を変更しない場合を除いて、すべてのイベントをバイパスし、バックボーンの利点の一部を失います。したがって、自分が何をしているのかわかっている場合にのみ、属性を直接使用してください。

于 2013-05-10T19:58:10.513 に答える