Angularjs重视服务和工厂服务

时间:2015-08-31 18:06:45

标签: angularjs angular-providers

角度DOC

  

使用$ injector注册值服务,例如字符串,数字,数组,对象或函数。这是注册服务的简称,其中提供者的$ get属性是一个不带参数的工厂函数,并返回值服务

在粗体文字中显示$get property is a factory function that takes no arguments,我知道$get中的angular providers函数,当需要创建实例时,将使用$injector.invoke()调用该函数并且它必须在提供者中具有$get功能。

我的问题是function that takes no arguments的基本含义是什么?

非常感谢有人能描述angular values service& factory service与上述doc引文进行比较。谢谢。

1 个答案:

答案 0 :(得分:0)

这意味着angular正在创建一个提供程序,与其他任何提供程序一样,它返回您使用module.value('name', value);传递给它的值。当构建值时没有涉及逻辑,并且不依赖于某些其他服务时,这种类型的提供者是合适的。

比较,产生相同的结果:

angular.module('myApp')
    .value('baseUrl', 'http://localhost:8080/');
angular.module('myApp')
    .factory('baseUrl', baseUrlFactory);

function baseUrlFactory(){
    return 'http://localhost:8080/';
}