0

Backbone.jsからいくつかのビューを見ましたが、どのモデルがビューにバインドされているかがどの時点で宣言されているのかわかりませんか?

たとえば、ここでは、ビューはどのモデルがどのモデルであるかを定義しthis.modelますか? https://github.com/addyosmani/todomvc/blob/gh-pages/dependency-examples/backbone_require/js/views/todos.js

4

1 に答える 1

0

オプション引数のプロパティをビューのコンストラクターに渡すとmodel、Backboneは自動的に次のように設定しますview.model

var someModel = new Model();
var view = new View({model:someModel});
console.log(view.model === someModel); // -> true

この機能はここに記載されています

新しいビューを作成するときに、渡したオプション(ビューに既に存在するデフォルトのオプションにマージされた後)は、後で参照できるようにthis.optionsとしてビューに添付されます。渡された場合、ビューに直接アタッチされるいくつかの特別なオプションがあります:モデル、コレクション、el、id、className、tagName、および属性。

Todolistの例では、モデルはapp.jsの75行目に設定されています。

addOne: function( todo ) {
  var view = new TodoView({ model: todo });
  $('#todo-list').append( view.render().el );
},
于 2013-01-22T11:34:08.453 に答える