Understanding Backbone.View
Understanding Backbone.View
人们在很多方面使用Backbone.View
,我有点困惑。I have seen:
Backbone.View.extend({});
new Backbone.View.extend({});
new Backbone.View();
new Backbone.View;
前三个不同。最后两个是一样的。(请点击此处查看小提琴。)每种情况下都发生了什么?
这都是一回事。
当您使用Backbone.View.extend({})
扩展一个类时,正如您所看到的,您没有向您的类添加任何额外的属性或方法。你传递给它一个空散列{}
作为参数。因此,Backbone.View
和Backbone.View.extend({})
几乎是一样的。
关于new
关键字之前的存在,它只是实例化了一个新的类。当您不使用new
关键字时,您只是在谈论类,而使用new
关键字时,您正在谈论同一类的对象。
括号不是义务。只有当你想向它的构造函数传递参数时才需要这样做,所以new Backbone.View()
和new Backbone.View;
是相同的,就像new Backbone.View()
和new Backbone.View.extend({})
一样,原因我之前写过。
关于小提琴(http://jsfiddle.net/C2Z34/):
-
myView1
是一个扩展View 的类。 -
myView2
(在我的小提琴中有括号)是Backbone扩展的类的对象。查看 -
myView3
是Backbone的对象。视图类。 -
myView4
与myView3
相同
Extend创建一个子类。在您的示例中,您不添加任何自定义代码,因此视图类的行为与原始主干视图完全相同。使用new关键字,您可以调用类的构造函数,该函数返回视图的实例。如果你想在视图中使用自定义代码。用渲染函数扩展BB视图。然后,当您想使用此视图时,您可以创建扩展视图的新实例。
相关文章:
- 如何检查Backbone.View当前是否在DOM中呈现
- 将Backbone.View重新注入DOM,保留事件而不是创建新事件
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- Backbone.View not responding to Backbone.UI
- Backbone.View渲染错误"TypeError:无效'instanceof'操作数e.
- 访问谷歌地图事件中的Backbone.View功能
- Backbone.view.extend:如何声明事件
- 使用 .each 循环遍历 Backbone View 中具有相同类的元素
- 在 View.event Backbone.js 中创建新模型
- 通过 Backbone View 渲染 jQuery 对象
- 任何理由从外部调用Backbone.View.render
- Backbone.View 的 setElement 不会移动事件侦听器
- 通过mixin使用Backbone.View事件方法
- 使用Cordova通过Backbone.js View拍照
- Backbone.View:删除与不同模型相关的不同视图
- 如何构建基于 Backbone.View 的插件,以便可以单独扩展其嵌套视图
- 将按钮onclick事件绑定到Backbone View
- 设置Backbone.View的动态css样式属性
- Backbone.js:更改view.attributes不会反映在view.el上
- 重新启动Backbone.View