我创建了一个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)
这样的参数或类似的东西,以明确视图中是否需要这些值?
答案 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?