如何将属性传递给Backbone视图?

时间:2013-10-14 23:36:21

标签: javascript backbone.js

我正在使用Backbone v1.0.0开发我的应用程序,并且在开始工作之间,现在已经对v1.1.0进行了更新。所以我曾经能够做到的,

var myView = new MyView({hash: 'something'});

使用

访问视图中的hash
this.options.hash

这不再适用。我现在收到以下错误:

  

未捕获的TypeError:无法读取未定义的属性'hash'

那么新的做法是什么?我非常希望能够将属性传递到我的视图中。

1 个答案:

答案 0 :(得分:7)

来自1.1.0 ChangeLog

  
      
  • Backbone Views不再自动将传递给构造函数的选项附加为this.options,但如果您愿意,可以自己执行。
  •   

因此构造函数选项仍然传递给initialize,但不再自动设置this.options。你可以这样做:

initialize: function(options) {
    // Stash `options.hash` in `this` if you want or
    // `this.options = options;` if you want to emulate
    // the old behavior.
}

演示:http://jsfiddle.net/ambiguous/SaJkz/