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似乎也不起作用?

最佳答案

backbone version 1.1.0开始,骨干.js不再自动为您附加所有选项,但是您仍然可以在initialize函数中手动进行此操作。

例如

 initialize: function(options) {
      if (options) {
        _.extend(this, options);
      }
      this.render();
    },

10-06 00:21