zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    数据验证及文件操作
    Leecode336
    Leecode335
    正式回归
    自定义按钮的实现 windows phone
    asp.net中保存更改数据
    asp.net中可以这样序列化
    Asp.net mvc 3 实现进度条上传思路[转]
    server.MapPath
    Path.Combine (合并两个路径字符串)方法的一些使用细节
  • 原文地址:https://www.cnblogs.com/sumg/p/5605365.html
Copyright © 2011-2022 走看看