【发布时间】:2017-12-20 06:29:28
【问题描述】:
单例
单例是一种特殊的类,它只能被实例化一次, 根据 angularJs 文档,Service 和 Factory 是 Singleton。
如果我们这样定义app.service('b', fn)
根据文档 Angular JS 调用服务,如
cache.b = new fn(); 所以 b 的存储值来自于新的 fn。
所以我可以理解角度创建实例本身,所以我们不能再次创建新实例,所以服务是单例的。
但是当这样定义app.factory(‘a’, fn)时,a的存储值来自于运行fn。
角度调用cache.a = fn();
所以没有“新”或糟糕的概念。那么实例化的对象概念在哪里,工厂也是单例的呢?因为单例是一种特殊的类,只能实例化一次。
如果回答将不胜感激。
【问题讨论】:
标签: javascript angularjs