类似于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>
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实战》