-
- 自定義服務中可以綁定多個方法,并且還可以依賴其他方法(可以使用別的服務)
- 自定義服務時,如果需要導入其它服務,必須設置一個[ ],然后將要導入的服務放置在[ ]
<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>
- 通過 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ā)布平臺,僅提供信息存儲服務。