我已经在Backbone.js中浸泡了脚趾,到目前为止,这是一种真正的享受。很简单,但功能非常强大。很棒的图书馆!
我遇到了一个问题:我似乎无法访问我的观点的链接元素(el
属性)。
我的示例提醒undefined
。看看this fiddle,看看它的实际效果。
$(function() {
// Init when DOM is Ready
App.init();
});
var App = {
init: function() {
new App.MyView();
}
}
App.MyView = Backbone.View.extend({
el: '#some-id',
initialize: function() {
App.MyController.doSomething();
}
});
App.MyController = {
doSomething: function() {
alert('MyView.el: ' + App.MyView.el); // Outputs 'MyView.el: undefined'
}
}
答案 0 :(得分:4)
2个问题:
el
定义为选择器,因此它必须位于DOM el
属性而不是实例el
属性。修正:
<div id="some-id"></div>
$(function() {
// Init when DOM is Ready
App.init();
});
var App = {
init: function() {
new App.MyView();
}
}
App.MyView = Backbone.View.extend({
el: '#some-id',
initialize: function() {
App.MyController.doSomething(this);
}
});
App.MyController = {
doSomething: function( myView ) {
console.log( myView );
alert('MyView.el: ' + myView.el);
}
}
答案 1 :(得分:0)
el属性应该是引用现有DOM元素的jquery元素。
el : $('#some-id')