自定義服務的拓展

    1. 自定義服務中可以綁定多個方法,并且還可以依賴其他方法(可以使用別的服務)
    • 自定義服務時,如果需要導入其它服務,必須設置一個[ ],然后將要導入的服務放置在[ ]
<body ng-app = "app" ng-controller = "wmxController">

<P>{{date}}</P>

<!--使用內置的服務-->
<!--<p>{{ date | date:'yyyy-MM-dd hh:mm:ss'}}</p>-->

<script src="angular.js"></script>

<script>
    var app = angular.module('app',[]);

    //注入服務
    app.controller('wmxController',['$scope','wmxService',function ($scope,wmxService) {

        //獲取現(xiàn)在的時間
        $scope.date = Date.now();

        //使用$filter服務(自定義過濾器)實現(xiàn)
        //$scope.date = $filter('date')($scope.date,"yyyy-MM-dd hh:mm:ss");

        //調用自定義服務中的方法并得到返回值
        $scope.date = wmxService.showTime($scope.date);

    }]);

//    自定義服務
    app.service('wmxService',['$filter',function ($filter) {
        //在自定義服務中定義的邏輯,格式化時間
        this.showTime = function (args) {
            return $filter('date')(args,'yyyy-MM-dd hh:mm:ss');
        }
    }])
</script>
</body>

  • 2.通過 post方式 訪問網絡傳遞參數,通過自定義服務對傳遞的參數進行格式更換。(使用關鍵字service)。
<body ng-app = "app" ng-controller = "wmxController">
{{data}}
<script src="angular.js"></script>
<script>
    var app = angular.module('app',[]);

    //注入自定義服務
    app.controller('wmxController',['$scope','$http','wmxService',function ($scope,$http,wmxService) {

        //將需要傳遞的參數封裝成一個對象(value值若不是數字,就要加引號)
        var myParams={
            flag:'wmx',
            name:'xxx'
        };

        $http({
            url:'05.php',
            method:'post',

            //忘記請求頭將會報錯
            headers:{
                'Content-Type':'application/x-www-form-urlencoded'
            },

            //希望 data:wmxService.newData(myParams)能夠轉化為data:flag=wmx&name:xxx
            data:wmxService.newData(myParams)

        }).success(function (res) {
            $scope.data = res;
        }).error(function (e) {

        })
    }]);

    //通過自定義服務對傳遞的參數進行格式更換
    app.service('wmxService',function () {

        this.newData = function (args) {
            var res = '';

            //遍歷獲取參數的內容
            for (var key in args){
                //拼接成想要的字符串
                res += key + '=' + args[key] + '&';
            }

            //刪除最后一個&符號
            res = res.slice(0,-1);

            return res;
        }
    })
</script>
</body>
    1. 通過 post方式 訪問網絡傳遞參數,通過自定義服務對傳遞的參數進行格式更換。(使用關鍵字factory)。
<body ng-app = "app" ng-controller = "wmxController">
{{data}}
<script src="angular.js"></script>
<script>
    var app = angular.module('app',[]);

    //注入自定義服務
    app.controller('wmxController',['$scope','$http','wmxService',function ($scope,$http,wmxService) {
        //將需要傳遞的參數封裝成一個對象(value值若不是數字,就要加引號)
        var myParams={
            flag:'wmx',
            name:'xxx'
        };

        $http({
            url:'05.php',
            method:'post',
            //忘記請求頭將會報錯
            headers:{
                'Content-Type':'application/x-www-form-urlencoded'
            },

            //希望 data:wmxService.newData(myParams)能夠轉化為data:flag=wmx&name:xxx
            data:wmxService(myParams)

        }).success(function (res) {
            $scope.data = res;
        }).error(function (e) {

        })
    }]);

    //通過自定義服務對傳遞的參數進行格式更換
    app.factory('wmxService',function () {
       return function (args) {
           var res = "";
           for(var key in args){
               res += key + "=" + args[key] + '&';
           }
           res = res.slice(0,-1);
           return res;
       }
    })
</script>
</body>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,536評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,922評論 25 709
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,262評論 6 342
  • 2016年10月30日,蒸湘公安分局五名警察在長沙,這次他們不是出差辦案,也不是游山玩水。而是自費參加2016...
    泉水叮咚再叮咚閱讀 825評論 0 0
  • 我把時間和記憶冰凍 可以輕輕的觸摸 可以清楚的數著你每一根頭發(fā)的變化 可以清晰的看到時間對于你容貌的刻畫 那一條條...
    靜止的流水閱讀 568評論 1 1

友情鏈接更多精彩內容