在主干视图中使用 mixins - 哪种是更好的方法
Using mixins in backbone views -which of these is the better approach?
这两个选项都会导致视图的正确行为。这个问题更多的是关于哪种方法更有效,或者出于其他原因更可取。
如果有其他方法可以完成此操作,也请告诉我!
选项 #1
在主干视图的初始化功能内扩展。
define([
'mixins/fooMixin',
'mixins/barMixin'
],
function(FooMixin, BarMixin) {
var FooBarView = BackboneLayout.extend({
initialize: function() {
_.extend(this, FooMixin);
_.extend(this, BarMixin);
/* do other things */
},
mySpecialMethod: function() {
this.foo();
this.bar();
}
});
return FooBarView;
});
选项 #2
在创建主干视图之前,在普通的 javascript 对象上进行扩展。
define([
'mixins/fooMixin',
'mixins/barMixin'
],
function(FooMixin, BarMixin) {
var FooBarViewDefn = {};
_.extend(FooBarViewDefn, FooMixin, BarMixin, {
initialize: function() {
/* do other things */
},
mySpecialMethod: function() {
this.foo();
this.bar();
}
});
return BackboneLayout.extend(FooBarViewDefn);
});
nr 2,因为它只会运行一次,并且每次实例化视图时都会执行#1。
相关文章:
- 在JavaScript中拆分日期字符串的更好方法是什么
- 设置嵌套对象属性的更好方法
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- 将数组从javascript格式化为php的更好方法,反之亦然
- jquery:将动画绑定到滚动条位置的更好方法
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 编写if-else语句的更好方法
- 传递promise回调方法的更好方法
- 在Knockoutjs中设置计算对象的observableArray的更好方法
- 从网页获取数据的更好方法,而不是使用DOM和HTML元素
- Backbone js代码气味-嵌入子视图的更好方法
- 从数组中删除项的更好方法
- 对多维数组进行分组的更好方法
- 在node.js和express中基于路径运行不同数据库查询的更好方法
- 动态更改测试中代码覆盖率的require语句的更好方法
- 设计具有数据持久性的web应用程序的更好方法
- 选择表行的更好方法
- 在nodejs服务器上提供文件的更好方法,而不是if/else
- Javascript;Ajax——填充对象的更好方法