最好用app的属性方法定义服务。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>自定义服务</title>
<script src="day2/src/angular.js"></script>
<style type="text/css">
</style>
</head>
<body>
<div ng-app="fristApp">
<div ng-controller="fristController">
</div>
</div>
</body>
<script type="text/javascript">
// 可以用$provide service factory
var myApp = angular.module('fristApp',[],function($provide){
/*
$provide 是调用的$get方法。 可以返回任意类型。
factory 是调用的服务定义的方法。 直接写服务的名字就可以调用。 可以返回任意类型的数据
service返回一个对象类型的数据。 直接写服务名字就能直接调用功能。只能返回对象类型的数据。内部是通过new创建的对象。
* */
// 这两个服务的方式放在app的第三个参数中
$provide.factory('factoryService',function(){
//console.log("factory创建");
return "fujichao";
});
$provide.service('serviecService',function(){
return {name:'fujichao',age:88}
})
});
/*
总结:
app上有provider service factory属性 可以直接创建服务;
建议都通过app的属性自定义服务。
* */
myApp.provider('pro',function(){
this.$get = function(){
return "provider";
}
});
myApp.service('ser',function(){
this.name = {name:"service"}
});
myApp.factory('fac',function(){
return "fac"
})
myApp.controller('fristController',function(pro,ser,fac){
console.log(pro);
console.log(ser);
console.log(fac)
})
</script>
</html>