這是我的觀點:骨幹查看屬性返回undefined
define(
[
"jquery"
, "underscore"
, "backbone"
, "eventView"
]
, function($, _, Backbone, EventView) {
"use strict";
var TimelineView = Backbone.View.extend({
tagName: 'div'
, className: 'column'
, _EventViews: {} // Cache event views for reuse
, initialize: function() {
this.collection.bind('add', this.add);
this.collection.bind('reset', this.add);
}
, render: function() {
return this;
}
// Listen for additions to collection and draw views
, add: function(model) {
var eventView = new EventView({
model: model
});
// Cache the event
console.log(this._EventViews);
this._EventViews[model.get('id')] = eventView;
// Draw event
eventView.render();
}
});
return TimelineView
}
);
正如你可以看到我設置_EventViews
屬性包含一個空的對象。但是,當我呼叫add()
函數console.log(this._EventViews)
返回未定義,並且以下語句失敗。
誰能告訴我這是爲什麼?
只是缺乏對問題的解釋伊莫,但兩點都適用。 – Loamhoof
謝謝,仍然試圖進入Backbone的思維模式,並且每個教程似乎都使用了不同的結構,但我將使用'listenTo'並感謝關於'_EventViews'的靜態頭像。 –