$ stateParams未定义

时间:2016-07-23 14:49:31

标签: javascript ionic-framework

我从离子开始,我遇到了以下问题。 每当我试图获取特定地点的ID时,我的$ stateParams都会返回一个空值。

这是我的位置和特定地方的我的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 个答案:

答案 0 :(得分:1)

而是<system.webServer> <modules runAllManagedModulesForAllRequests="true"> </modules> </system.webServer> 您应该使用$stateParams.id

有关$stateParams.placeId here的更多信息。