Service与Provider

类似于Jq的AJAX功能:

var myModule=angular.module("MyModule",[]);
myModule.controller('LoadDataCtrl', ['$scope','$http', function($scope,$http){
	$http({
        method: 'GET',
        url: 'data.json'
    }).success(function(data, status, headers, config) {
        console.log("success...");
        console.log(data);
        $scope.users=data;
    }).error(function(data, status, headers, config) {
        console.log("error...");
    });
}]);
<div ng-controller="LoadDataCtrl">
		<ul>
			<li ng-repeat="user in users">
				{{user.name}}
			</li>
		</ul>
	</div>


自定义Service:

js:

var myServiceApp = angular.module("MyModule",[]);

myServiceApp.factory('userListService',['$http',
	function ($http){
		var doRequest = function(username,path){
			return $http({
				method:"GET",
				url:'users.json'
			});
		}
		return {
			userList:function(username){
				return doRequest(username,'userList');
			}
		};
	}
]);
myServiceApp.controller('ServiceController',['$scope','$timeout','userListService',
	function ($scope,$timeout,userListService){
		var timeout;
		$scope.$watch('username',function(newUserName){
			if(newUserName){
				if(timeout){
					$timeout.cancel(timeout);
				}
				timeout = $timeout(function(){
					userListService.userList(newUserName)
					.success(function(data,status){
						$scope.users = data;
					});
				},350);
			}
		});
	}
]);

使用timeout防止抖动。

使用$filter服务:


currency,date,filter,json,limitTo,lowercase,number,orderBy,uppercase

date的使用:{{1304356948024 | date:"yyyy-MM-dd hh:mm:ss"}}

当然最重要的可以编写自定义filter:

{{'Hello World!' | fifi}}

js:

myServiceApp.filter('fifi',function(){
	return function(item){
		return item+'=.=';
	}
});


以上内容有参考暮课网视频教程《Angularjs实战》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值