我建議,因爲你正在HTTP調用它會返回JSON對象(使用服務,以及控制器)創造這種方法的服務/控制器。在服務中有你的功能,如getFavorites,addToFavorites,deleteFromFavorites等。這些功能將在您的收藏夾列表中獲取http GET/POST/UPDATE。然後你會想把JSON對象返回給控制器。在控制器中,您可以控制範圍並設置範圍變量以在應用程序中顯示數據。
這裏是一個基本的例子:
服務
//****************
//Favorite Factory
//****************
.factory('favoriteFactory', function ($http) {
var favFac = {};
var favorites = [];
favFac.getFavorites = function (userId) {
//$http.get() call to get specific user's favs
};
favFac.addToFavorites = function (name, description) {
//$http.post() call to post to a users favs
};
favFac.deleteFromFavorites = function(userId, itemId) {
//$http.update() call to delete item from users favs
}
return favFac;
});
控制器
//Favorite Controller
.controller('FavoritesCtrl', ['$scope', '$stateParams', 'favoriteFactory', function ($scope, $stateParams, favoriteFactory) {
//Route current user Id to controller. Pass to service to look up their favorites in db
var userId = $stateParams.id;
$scope.favorites = favoriteFactory.getFavorites(userId);
$scope.addToFavorites = function(name, description){
favoriteFactory.addToFavorites(name, description);
}
}])
HTML
<ion-view view-title="Favorites Page" ng-controller="FavoritesCtrl">
<ion-content>
<ion-item collection-repeat="favorite in favorites">
<h3>{{ favorite.name }}</h3>
<p>{{ favorite.description }}</p>
<button type="button" ng-click="addToFavorites(favorite.name, favorite.description)">Add</button>
</ion-item>
</ion-content>
如何在角度控制器內添加一個新項目的數組內的功能? – MikeVelazco