1

Backbone.jsソースコード(Collection- "add"メソッド)には、次の行があります。

add: function(models, options) {
  ...
  models = _.isArray(models) ? models.slice() : [models];

なぜ作者は単にではなく配列のコピーを作成するのですか?

add: function(models, options) {
  ...
  models = _.isArray(models) ? models : [models];

よろしくお願いします
Wolfgang

4

1 に答える 1

2

コレクション コンストラクターに渡された配列をコード内の別の場所で変更することにより、偶発的なコレクションの変更を防ぐために使用されます。

配列は参照として渡されるため、1 つの場所で変更するとコレクションのモデル配列も変更されますが、コレクション ロジックの外で発生すると、コレクションの長さなどは変更されず、モデルの削除イベントはトリガーされません。

于 2012-10-08T10:36:12.253 に答える