Ich baue hier gerade eine kleine App, die als REST Endpoint ein .json File verwendet und je einen View für die Liste aller Einträge, sowie die Details des ausgewählten Eintrages anzeigen soll. Dabei scheitere ich aber am Detail-Controller. Ich habe das Nachfolgende bei Plunker nachgestellt.
http://plnkr.co/edit/kERtF6ETfl0WcsvoniAp?p=preview
Die Routen funktionieren, der ListController fetched per User.query() auch alle Einträge, aber wie mappe im DetailController die user_id des JSON Objekts mit User.get() auf die URL?
http://plnkr.co/edit/kERtF6ETfl0WcsvoniAp?p=preview
Code:
//JSON Object [ {"user_id": 1, "user_firstname": "Frank", "user_lastname": "Meier"}, {"user_id": 2, "user_firstname": "Franziska", "user_lastname": "Schulze"} ] //Router app.config(['$routeProvider', function ($routeProvider) { $routeProvider. when('/', { templateUrl: 'users.html', controller: 'ListCtrl' }). when('/users/:user_id', { templateUrl: 'details.html', controller: 'DetailCtrl' }); }]); //Controller app.controller('ListCtrl', function($scope, Users) { $scope.users = Users.query(); }); app.controller('DetailCtrl', function($scope, Users) { $scope.users = Users.get({user_id: $scope.user_id}); }); //Service app.factory('Users', ['$resource', function($resource){ return $resource('json/users:user_id.json'); }]);
Kommentar