Javascript 自初始化主干视图
我想知道是否有一种自初始化主干视图的简单方法。我最好能举个例子说明我想做什么 目前,初始化主干视图的默认方式如下:Javascript 自初始化主干视图,javascript,backbone.js,Javascript,Backbone.js,我想知道是否有一种自初始化主干视图的简单方法。我最好能举个例子说明我想做什么 目前,初始化主干视图的默认方式如下: var BBview = Backbone.View.extend({}); var myView = new BBview(); 出于名称间隔的原因,我想“自动”或“自”初始化主干视图。比如说 var MyApp.MyView = Backbone.View.extend({}).initialize(); 这样,MyApp.MyView将自动成为我的视图,而不必先创建一个变
var BBview = Backbone.View.extend({});
var myView = new BBview();
出于名称间隔的原因,我想“自动”或“自”初始化主干视图。比如说
var MyApp.MyView = Backbone.View.extend({}).initialize();
这样,MyApp.MyView将自动成为我的视图,而不必先创建一个变量作为主干视图,然后再创建另一个变量对其进行初始化。希望这是有道理的。非常感谢您的帮助。谢谢各位 Backbone.View.extend()
返回一个构造函数,以便可以对其调用new
。唯一棘手的部分是获得正确的优先级,以便extend
看到括号中的参数,而不是new
将它们视为构造函数的参数:
var v = new (Backbone.View.extend({ ... }));
演示:
没有额外的括号:
var v = new Backbone.View.extend({ ... });
您将(或多或少)执行以下操作:
那不是你想要的
我不推荐这种事情,你只会让那些在六个月内看到你的代码的人感到困惑。最好使用函数来避免名称空间污染:
var myView = (function() {
var BBview = Backbone.View.extend({});
return new BBview();
})();
这可能没有那么漂亮或聪明,但它有一个巨大的优势,即它是一种常见且可立即识别的模式。主干。View.extend()
返回一个构造函数,以便您可以对其调用new
。唯一棘手的部分是获得正确的优先级,以便extend
看到括号中的参数,而不是new
将它们视为构造函数的参数:
var v = new (Backbone.View.extend({ ... }));
演示:
没有额外的括号:
var v = new Backbone.View.extend({ ... });
您将(或多或少)执行以下操作:
那不是你想要的
我不推荐这种事情,你只会让那些在六个月内看到你的代码的人感到困惑。最好使用函数来避免名称空间污染:
var myView = (function() {
var BBview = Backbone.View.extend({});
return new BBview();
})();
这可能没有那么漂亮或聪明,但它有一个巨大的优势,即它是一种常见且可立即识别的模式。只需使用
新的操作符直接初始化主干视图:
var myView = new Backbone.View();
或使用extend:
var myView = new (Backbone.View.extend({
initialize : function() { console.log('init'); }
}));
只需使用new
操作符直接初始化主干视图:
var myView = new Backbone.View();
或使用extend:
var myView = new (Backbone.View.extend({
initialize : function() { console.log('init'); }
}));