AngularJs练习Demo12Provider
1 @{ 2 Layout = null; 3 } 4 5 <!DOCTYPE html> 6 7 <html> 8 <head> 9 <meta name="viewport" content="width=device-width" /> 10 <title>Provider</title> 11 <script type="text/javascript" src="~/Scripts/angular.js"></script> 12 <script type="text/javascript"> 13 var myApp = angular.module("myApp", []); 14 myApp.config(function (providerServices01Provider,$interpolateProvider) { 15 providerServices01Provider.name = "张三"; 16 $interpolateProvider.startSymbol("##"); 17 $interpolateProvider.endSymbol("##"); 18 //$interpolateProvider 服务可以来对绑定数据进行操作 19 }); 20 21 myApp.provider("providerServices01", function () { 22 $provide.provider('providerServices01', function () {//自定义服务,通过module的第三个参数来定义,provider是唯一一个可以再config配置的service 23 //可以在config里面配置的属性 24 this.name = ""; 25 26 this.$get = function () { 27 var that = this; 28 var _name = ""; 29 var service = {}; 30 service.setName = function (name) { 31 _name = name; 32 } 33 service.getName = function (name) { 34 return _name; 35 } 36 service.getConfigName = function () { 37 return that.name + "123456"; 38 } 39 return service; 40 } 41 }); 42 }); 43 44 // 45 myApp.service("serviceServices01", function () {//不能直接返回字符串,因为内部是用new来实例化的所以可以直接用this来表示当前的service 46 //var _name = ""; 47 //var service = {}; 48 //service.setName = function (name) { 49 // _name = name; 50 //} 51 //service.getName = function (name) { 52 // return _name; 53 //} 54 //return service; 55 56 var _name = ""; 57 var service = {}; 58 this.setName = function (name) { 59 _name = name; 60 } 61 this.getName = function (name) { 62 return _name; 63 } 64 }); 65 66 67 myApp.factory("factoryServices01", function () { //可以直接返回字符串 68 var _name = ""; 69 var service = {}; 70 service.setName = function (name) { 71 _name = name; 72 } 73 service.getName = function (name) { 74 return _name; 75 } 76 return service; 77 }); 78 79 80 81 82 myApp.controller("firstController", ["$scope", "providerServices01", "serviceServices01", "factoryServices01", function ($scope, providerServices01, serviceServices01, factoryServices01) { 83 84 }]); 85 86 </script> 87 88 </head> 89 <body> 90 <div ng-app="myApp"> 91 <div ng-controller="firstController"> 92 93 {{name}} 94 ##name## 95 </div> 96 </div> 97 </body> 98 </html>