Service代碼:
app.service('getTicketList', function($q, $http){
this.data = {};
this.getData = function(id){
var deferred = $q.defer();
var path='ticket.action?method:projectTickets';
if(id)
path+='&projectId='+id.toString();
$http.get(path).then(function(d){
//success
this.data = d;
deferred.resolve(d);
},function(){
//failure
deferred.reject(d);
});
}
});
controller代碼:
app.controller('projectController', function($scope,getTicketList) {
$scope.tickets=getTicketList.getData($scope.projectId).data.tickets;
});
controller的那句程式碼有問題。我用getTicketList.data也取得不到數據,是{}。而且不知道怎麼把參數傳進去。 。 。 。
1.service裡面用return代替this
2.呼叫的時候使用promise模式
這種傳遞參數的方式是不對的,沒這麼用過,這裡有個項目,找到對應的controller.service看看
https://github.com/LittleDouBi/community
你應該使用promise模式: