2012-06-23 4 views
2

Я пытаюсь отфильтровать $ routeParams данных, возвращаемых из json-файла. ниже мой код:

function PostDetailController($scope, $routeParams, $http) { 
    $http.get('json/posts.json').success(function(data){ 
     $scope.photo = data; 
    }); 
} 

как я могу отфильтровать идентификатор данного URL-адреса? ниже, что моя JSON выглядеть

{ 
    "id": 1, 
    "name": "details1", 
    "title": "Test Title", 
    "description": "Sample Description", 
    "image": "img/1.jpg", 
    "tags": ["photo", "internet"], 
    "user": "hilarl", 
    "comments": ["sample comment"], 
    "likes": 23, 
    "dislikes": 100, 
    "resolution": { "x": 150, "y": 58 } 
}, 
{ 
    "id": 2, 
    "name": "details2", 
    "title": "Test Title", 
    "description": "Sample Description", 
    "image": "img/2.jpg", 
    "tags": ["photo", "internet"], 
    "user": "hilarl", 
    "comments": ["sample comment"], 
    "likes": 23, 
    "dislikes": 100, 
    "resolution": { "x": 150, "y": 58 } 
} 

ответ

9

Допустим, у вас есть маршрут, определенный как это:

$routeProvider.when('/post/:postId', {...}) 

Затем в контроллере Вы можете получить идентификатор из routeParams $:

function PostDetailController($scope, $routeParams, $http) { 
    $http.get('json/posts.json').success(function(data){ 
     angular.forEach(data, function(item) { 
      if (item.id == $routeParams.postId) 
      $scope.photo = item; 
     }); 
    }); 
} 
Смежные вопросы