我是一個角度的新手,並試圖根據用戶點擊的鏈接將數據傳遞到控制器。我正在使用angular-ui路由,但控制器只有一次調用,我懷疑我可能錯誤地構建了我的解決方案。目前的解決方案有什麼問題?我開始相信我可能更好地將服務傳遞給控制器,並使用ng單擊HTML中的鏈接?建議將不勝感激。使用解決方案/工廠將數據傳遞到Angularjs控制器
ServiceDeskApp.factory("storiesService", function($http){
return {
getMyStories: function(){
return $http.get('/stories');
},
getMyRequestedStories: function(){
return $http.get('/stories?type=requester_id');
},
getMyOwnedStories: function(){
return $http.get('/stories?type=owner_id');
},
getMyTestingStories: function(){
return $http.get('/stories?type=tester_id');
}
}
});
$stateProvider
.state('stories', {
url:"/stories",
templateUrl: "views/stories/index.html",
controller: 'StoriesCtrl',
resolve:{
stories: function(storiesService){
return storiesService.getMyStories();
}
}
})
.state('stories.requester_id', {
url:"/stories/request",
templateUrl: "views/stories/index.html",
controller: 'StoriesCtrl',
resolve:{
stories: function(storiesService){
return storiesService.getMyRequestedStories();
}
}
})
.state('stories.owner_id', {
url:"/stories/own",
templateUrl: "views/stories/index.html",
controller: 'StoriesCtrl',
resolve:{
stories: function(storiesService){
return storiesService.getMyOwnedStories();
}
}
})
.state('stories.tester_id', {
url:"/stories/test",
templateUrl: "views/stories/index.html",
controller: 'StoriesCtrl',
resolve:{
stories: function(storiesService){
return storiesService.getMyTestingStories();
}
}
});
});
ServiceDeskApp.controller('StoriesCtrl', function($scope, stories){
console.log('inside stories controller');
$scope.stories = stories.data;
});