gpt4 book ai didi

javascript - 自初始化主干 View

转载 作者:行者123 更新时间:2023-11-30 08:55:24 25 4
gpt4 key购买 nike

我想知道是否有一种简单的方法可以自行初始化主干 View 。我最好展示一个我想要做的事情的例子。

目前初始化主干 View 的默认方式如下:

var BBview = Backbone.View.extend({});
var myView = new BBview();

出于名称间距的原因,我想“自动”或“ self ”初始化主干 View 。例如。

var MyApp.MyView = Backbone.View.extend({}).initialize();

这样 MyApp.MyView 将自动成为我的 View ,而不必先创建一个变量作为主干 View ,然后再创建另一个变量来初始化它。希望这是有道理的。任何帮助深表感谢。多谢你们。

最佳答案

Backbone.View.extend() 返回一个构造函数,因此您可以对其调用 new。唯一棘手的部分是让优先级正确,以便 extend 看到其括号中的参数,而不是 new 将它们视为构造函数的参数:

var v = new (Backbone.View.extend({ ... }));

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

没有额外的括号:

var v = new Backbone.View.extend({ ... });

你将(或多或少)这样做:

var V = Backbone.View.extend;
var v = new V({ ... });

这不是你想要的。

我不推荐这种东西,你只会让六个月后最终查看你的代码的人感到困惑和困惑。你最好使用一个函数来避免命名空间污染:

var myView = (function() {
var BBview = Backbone.View.extend({});
return new BBview();
})();

这可能不是那么漂亮或聪明,但它具有成为常见且可立即识别的模式的巨大优势。

关于javascript - 自初始化主干 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com