2016-07-23 139 views
0

我开始使用离子,我遇到以下问题。 我$ 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

相关问题