Javascript Can';t访问同一类中的变量
和我的路由器:Javascript Can';t访问同一类中的变量,javascript,jquery,backbone.js,underscore.js,Javascript,Jquery,Backbone.js,Underscore.js,和我的路由器: var BooksView = Backbone.View.extend({ initialize: function() { this.render(); }, render: function() { alert(this.myVar); } }); 如何访问变量?this.myVar似乎不起作用,即使变量设置在同一个类中?您可以在视图的模型中设置数据,如下所示:- var BookRouter = Back
var BooksView = Backbone.View.extend({
initialize: function() {
this.render();
},
render: function() {
alert(this.myVar);
}
});
如何访问变量?this.myVar似乎不起作用,即使变量设置在同一个类中?您可以在视图的模型中设置数据,如下所示:-
var BookRouter = Backbone.Router.extend({
routes: {
'': 'index',
'list/:id': 'list'
},
index: function(){
var booksView = new BooksView({
el: ".content",
myVar: "Example 1"
});
},
list: function(id){
var booksView = new BooksView({
el: ".content",
myVar: "Example 2"
});
}
});
然后在视图中定义一个模型并编写
list: function(id){
var booksView = new BooksView({
el: ".content"
});
booksView.model.set(myVar, "Example 2");
}
从现在起,backbone.js不再自动为您附加所有选项,但是您仍然可以在函数中手动执行此操作
比如说
alert(this.model.get('myVar'));
除了某些选项外,backbone.js不再附加自动传入的变量。将其作为属性,而不是局部变量!
initialize: function(options) {
if (options) {
_.extend(this, options);
}
this.render();
},