【发布时间】:2014-06-17 17:52:41
【问题描述】:
根据我的阅读和测试,避免构造函数并尽可能利用原型继承是有好处的。它更快(不是很多,但我必须遍历 +100,000 个项目),允许更大的灵活性,并且更符合 JavaScript 的理念。
然后我的问题是如何利用 Angularjs 工厂/服务来使用原型继承而不是服务建议的构造函数逻辑?
这是我的例子:
angular.module('components', [])
.service('Item', function() {
var Item = function(val){
this.func1 = function() {....};
this.func2 = function() {....};
this.func3 = function() {....};
//... lots of functions
}
return Item; // @Flex, Forgot this, tnx
});
angular.module('main', ['components'])
.controller('MainCtrl', function(Item) {
var items = [];
_.each(largeArray, function(itm) {
items.push(new Item(itm));
});
});
如何更改服务或工厂以创建使用原型继承来继承所有功能的项目?而且由于这在技术上更快(我知道的不多)并且更符合体验,为什么它不是标准的?我对 Angularjs 不了解吗?
【问题讨论】:
-
我不确定,但这可能会有所帮助:google-styleguide.googlecode.com/svn/trunk/…
-
我遇到了类似的问题,并得到了一个非常有帮助的答案Here,这也可能对您有所帮助。
标签: javascript angularjs prototypal-inheritance