将参数传递给Backbone.View的构造函数

时间:2013-04-04 15:17:21

标签: backbone.js

我创建了一个Backbone View

App.MyView = Backbone.View.extend({...});

然后实例就像

new App.MyView();

但如果我的对象需要一些初始值我

new App.MyView({name:"Beautiful"});

然后,我会从MyView那样

访问此选项
App.MyView= Backbone.View.extend({
    initialize: function(){
        console.log(this.options.name);
    }
});

这很好,但不是一个不言自明的对象:我必须事先知道以文字方式({this.name:"Beautiful"})传递初始值以使MyView工作。

我如何传递像initialize(name)这样的参数或类似的东西,以明确视图中是否需要这些值?

2 个答案:

答案 0 :(得分:0)

Javascript函数没有定义数量的参数,所以基本上,你不能 写作:

function(name) {...}

只是一个快捷方式:

function() {
  var name = arguments[0];
  ...
}

您最终可能会抛出错误,因为您的参数未定义:

function(name) {
  if(typeof name === 'undefined') throw 'Error: missing argument';
  ...
}

但是,除此之外,你不能强迫使用论证。

修改
如果你的问题只是清晰,你恐怕不能这样做。

<强> EDIT2:
好吧,你可以,如果你真的想,但我真的避免走那些路。

答案 1 :(得分:0)

您可能希望结合使用此类似问题的答案:Default values of Backbone.js view?