'use strict';
(function(){
function myFactory(){
var model = {};
function viewModelManager(){
return {
getInstance : function(){
return model;
}
}
return viewModelManager;
}
}
angular.module('main').factory('viewModelFactory',myFactory);
}());
在参考上面的代码片段,我想知道以下两个调用之间的区别:AngularJS厂可返回两个不同的实例
new viewModelFatory();
和
viewModelFactory();
两个似乎是返回viewModelManager函数返回的对象。那么使用operator new的优点是什么?
另外,我的理解正确的关于上面的代码片段:
1)viewModelFatory将只有一个单一的实例,只要我们注入到多个控制器它将引用该实例。
2)viewModelFactory可以用来创建多个有状态的实例,因为我在viewModelManager函数内部创建了这些实例变量?
3)每当我调用new viewModelFatory()(或viewModelFactory()),它会创建一个viewModelManager函数的新实例?
它不回答我的问题 –
如果我在不使用它的情况下获得相同的结果,那么使用new运算符有什么优势? –
我每次调用viewModelFatory()或new viewModelFatory()时都会返回viewModelManager实例,但它们将始终不同。它是否正确?如果是的话,我们应该使用什么,以及另一个优势是什么? –