AngularJS簡介:
AngularJS 通過新的屬性和運算式擴充了 HTML。
AngularJS 可以構建一個單一頁面應用程式(SPAs:Single Page Applications)。
AngularJS 學習起來非常簡單。
angularjs 中可通過三種($provider,$factory,$service)方式自訂服務,以下是不同的實現形式:
// 定義module , module中注入$providevar starterApp = angular.module('starter.controllers', [],function($provide){// 第一種方式:使用provide的provider自訂服務$provide.provider('getUserInfoService', function(){this.$get = function(){var userInfo = [{'userName':'張三0','userNick':'小花0','age':25},{'userName':'張三1','userNick':'小花1','age':26}];return userInfo;}});$provide.factory('',function(){});$provide.service('',function(){});});//第二種方式 (module 的 config 方法中注入 $provide)starterApp.config(['$provide',function($provide) {// 使用provide的provider自訂服務(返回對象,字串,服務,且必須通過$get方法返回)$provide.provider('getUserAddressService', function(){var _userAddress = '';var service = {};this.$get = function(){service.setAddress = function (userAddress){_userAddress = userAddress;}service.getAddress = function (){return _userAddress;}return service;}});// 使用provide的factory自訂服務(返回對象,服務,字串)$provide.factory('serviceName1', ['$http', function($http){// var service = {};// service.getName = function (){// return '張三';// }// return service;// return "啊颯颯大";}]);// 使用provide的service自訂服務(返回對象,服務)$provide.service('serviceName2', ['$http', function($http){// return {// 'name':'aa'// };//可直接通過this定義方法this.getName = function (){return '張三';}}])}]);//第三種方式(module 的 provider、service、factory 方法 推薦第三種)starterApp.provider('serviceName3',function(){this.$get = function (){return '直接通過module的provider方法定義服務';}});starterApp.factory('serviceName4',function(){return '直接通過module的factory方法定義服務';});starterApp.service('serviceName5',function(){return {'message':'直接通過module的service方法定義服務'}});
以上所述是小編給大家介紹的Angularjs 自訂服務的三種方式小結,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!