在之前经常使用jq自定义方法,这个很简单,但是最近用angluar却不知道如何定义方法,以便二次使用。总结规整如下:
var app = angular.module('indexApp', ['ngSanitize']);
//定义方法
app.factory('dataFactory', function($http, $q) {
var factory = {};
factory.getCommentList = function(pagenum,pagesize) {
var defer = $q.defer();
//获取数据
$http({
method: 'get',
url: '',
headers: {
"API-Token": token,
"API-Common": "{'ss':'ss'}"
},
params: {
}
}).then(function successCallback(response) {
console.log(response.data);
if(response.data.isOk && response.data.status == '200') {
var data = response.data.data;
defer.resolve({
'list': data.list,
'status': true
});
} else if(response.data.isOk && response.data.status == '301') {
// $scope.hasData = false;
// myalert(response.data.message);
} else {
myalert(response.data.message);
}
}, function errorCallback(response) {
console.log(response.data);
myalert('请求参数错误!');
return false;
});
return defer.promise;
};
return factory;
});
以上代码说明
defer.resolve({}) 该处用于使用方法的回调
方法调用
app.controller('indexCtrl', function($scope, $http, dataFactory) {
dataFactory.getCommentList('1','10').then(function(res) {
console.log(res);
if(res.status) {
$scope.hasData = true
$scope.list = res.list;
} else {
$scope.hasData = false
}
}, function(error) {
console.log(error);
});
}