AngularJS入门(10)-Angular服务总结
在之前介绍AngularJS的博客中,简单的介绍了AngularJS提供的常用服务,以及如何自定义服务,具体可参见《AngularJS 服务(Service)》。在这一篇博客中,我将为大家详细介绍如何自定义服务,以及各种方式之间的区别。 value(name,object)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>AngularJS</title>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript"> angular.module("myApp",[]) .value("HQValue",10) .controller("myCtrl",function($scope,HQValue) { $scope.value = HQValue; }); </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
{{value}}
</body>
</html>
在这段代码中,我们是用 constant(name,value)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>AngularJS</title>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript"> angular.module("myApp",[]) .constant("HQConstant",10) .config(function(HQConstant) { console.info(HQConstant); }) .controller("myCtrl",HQConstant) { $scope.value = HQConstant; }); </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
{{value}}
</body>
</html>
细心的小伙伴应该可以发现 service(name,constructor)使用 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
<script type="text/javascript"> angular.module("myApp",[]) .service('HQString',function() { this.toUpperCase = function(x) { return x.toUpperCase(); } }).controller("myCtrl",HQString) { $scope.name = HQString.toUpperCase('jianggujin'); }); </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<div>{{name}}</div>
</body>
</html>
在这段代码中,我们使用了 factory(name,providerFunction)使用 <head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
<script type="text/javascript"> angular.module("myApp",[]) .factory('HQString',function() { return { toUpperCase: function(x) { return x.toUpperCase(); } }; }).controller("myCtrl",HQString) { $scope.name = HQString.toUpperCase('jianggujin'); }); </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<div>{{name}}</div>
</body>
provider(name,provider)
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
<script type="text/javascript"> angular.module("myApp",[]) .provider('HQString',function() { this.defaults = "defaults"; this.$get = function() { return { toUpperCase: function(x) { return x.toUpperCase(); } }; } }).config(function(HQStringProvider) { console.info(HQStringProvider.defaults) }).controller("myCtrl",HQString) { $scope.name = HQString.toUpperCase('jianggujin'); }); </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<div>{{name}}</div>
</body>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |