1. AngularJS服务
AngularJS可注入类型包括:Service、Factory、Provider、Value及Constant。
2. Service
AngularJS Service是封装了一些特定业务逻辑的单例对象,在每个应用中只会被实例化一次(由$injector实例化),且延迟加载(需要时才会创建)。
AngularJS Service对外提供方法供其他组件调用。
2.1 AngularJS内置Service对象
AngularJS内置30多个服务。
1>. $location:返回当前页面的 URL 地址
{ { url }}
2>.$timeout:在指定的毫秒数后调用函数或计算表达式,只执行一次。
{ { text }}
3>.$interval:按照指定的周期(以毫秒计)来调用函数或计算表达式,会多次不停地调用执行。
{ { time }}
不使用 $interval 服务的情况下,运用 $apply显示时间。
{ { time }}
2.2 自定义服务
AngularJS自定义服务语法格式:
var app = angular.module("app", []);app.service("serviceName", function(){ // 属性、方法});
其中:
第一个参数:Service名称
第二个参数:Service对象的构造函数,可以定义属性和方法来封装处理一些逻辑。
示例:
{ { time }}
示例:
{ { time }}
示例:在自定义的Service中可以注入其他Service对象。
3. Factory
4. Provider
5. Constant
constant创建的服务用来返回一个常量。
constant语法格式:
var app = angular.module("app", []);app.constant(name, value);
其中,
参数name:创建服务的名称
value:一个常量,与服务名称对应的常量值或对象。当注入该服务之后,可以直接调用服务名对应的常量。