AngularJS中serivce,factory,provider的区别
摘要
翻译,原文链接:http://www.ng-newsletter.com/advent2013/#!/day/1
目录[-] |
'myApp'
.controller(
'MainCtrl'
($scope,User){
$scope.saveUser=User.save;
});
|
什么时候使用factory()方法
在service里面当我们仅仅需要的是一个方法和数据的集合且不需要处理复杂的逻辑的时候,factory()是一个非常不错的选择。
注意:需要使用.config()来配置service的时候不能使用factory()方法
2、service()
service()通过构造函数的方式让我们创建service,我们可以使用原型模式替代javaScript原始的对象来定义service。
和factory()方法一样我们也可以在函数的定义里面看到服务的注入
.user={};
.backendUrl=
;
.setName=
(newName){
self.user[
]=newName;
}
.setEmail=
(newEmail){
]=newEmail;
}
.save=
(){
$http.post(self.backendUrl+
user:self.user
})
}
});
这里的功能和使用factory()方法的方式一样,service()方法会持有构造函数创建的对象。
-
在应用里面使用service()方法