2016-07-23 2 views
0

私はイオンで始まり、次の問題が発生しました。 my $ stateParamsは、特定の場所のIDを取得しようとするたびに空の値を返します。

これは私の場所や特定の場所の両方のための私のcontrollers.jsコードです:

.controller('PlacesCtrl', function($scope, NearbyPlaces){ 
     $scope.places = NearbyPlaces.all(); 
    }) 
.controller('PlaceCtrl', function ($scope,NearbyPlaces,$stateParams) { 
     console.log($stateParams.id); 
     $scope.place = NearbyPlaces.get($stateParams.id); 
    }); 

そして、この私のservices.jsコード:

.factory('NearbyPlaces', function() { 
    var places = [{ 
     id: 0, 
     name: 'Ben Sparrow', 
     description: 'You on your way?', 
     picture: 'https://upload.wikimedia.org/wikipedia/commons/b/bc/P1150548_Paris_XIV_place_Denfert-Rochereau_rwk.jpg' 
    }, { 
     id: 1, 
     name: 'Max Lynx', 
     description: 'Hey, it\'s me', 
     picture: 'https://upload.wikimedia.org/wikipedia/commons/b/bc/P1150548_Paris_XIV_place_Denfert-Rochereau_rwk.jpg15/08/2016' 
    }]; 
    return { 

     all: function() { 
      return places; 
     }, 
     get: function(placeId) { 
      for (var i = 0; i < places.length; i++) { 
       if (places[i].id === parseInt(placeId)) { 
        return places[i]; 
       } 
      } 
      return null; 
     } 
    }; 
}); 

そして、私のapps.jsコード:

.state('app.places',{ 
     url:'/places', 
     views:{ 
      'menuContent':{ 
       templateUrl: 'views/places.html', 
       controller: 'PlacesCtrl' 
      } 
     } 
    }) 
    .state('app.place-details',{ 
     url:'/places/:placeId', 
     views:{ 
      'menuContent':{ 
       templateUrl:'views/place.html', 
       controller:'PlaceCtrl' 
      } 
     } 
    }); 

答えて

1

$stateParams.idの代わりに$stateParams.placeIdを使用してください。

詳細$stateParamshereです。

関連する問題