var BooksView = Backbone.View.extend({
initialize: function() {
this.render();
},
render: function() {
alert(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"
});
}
});
如何访问变量?即使变量设置在同一个类中,this.myVar似乎也无法正常工作?
答案 0 :(得分:2)
从backbone version 1.1.0起,backbone.js不再自动为您附加所有选项,但您仍然可以在initialize函数内手动执行此操作。
例如
initialize: function(options) {
if (options) {
_.extend(this, options);
}
this.render();
},
答案 1 :(得分:-1)
您可以在视图模型中设置数据,如: -
list: function(id){
var booksView = new BooksView({
el: ".content"
});
booksView.model.set(myVar, "Example 2");
}
然后在视图中定义模型并编写
alert(this.model.get('myVar'));