あいまいなタイトルで申し訳ありません。何が起こっているのかよくわかりません。
だから、これは私の見解でのレンダリングです:
render: function () {
var that = this;
var template = JST['gists/index'];
that.$el.html(template);
console.log(['index to render', that.collection]);
_.each(that.collection, function (gist) { // <- I set a breakpoint here
console.log('looping');
that.appendGistDetail(gist);
});
return that;
},
`console.log(..., that.collection]) は、このコレクションを正しく記録しています:
["index to render", child]
0: "index to render"
1: child
_byId: Object
length: 1
models: Array[1] // <- Note one element. Saving space, but I checked it out and the model is correct
// Worth noting 'looping' is not being logged
ただし、前述のブレークポイント スコープ変数からの出力は、Chrome 開発ツールに次のように表示されます。
that: child
$el: jQuery.fn.jQuery.init[1]
childViews: Array[0]
cid: "view2"
collection: child
_byId: Object
length: 0
models: Array[0] // <- Note it's empty, just to test I also set a bp on the line above and it's the same, and when I hovered my mouse over `that.collection` from `console.log` it also said it was empty, but it logs correctly.
だから、私は本当に何をすべきか、あるいは何が起こっているのかさえわかりません.