$routeParams AngularJs не возвращает идентификатор

Я попытался выяснить, как это работает с $routeParams в angular, у меня есть объект json, как это: [ { "pId": "DE123", "name": "Gogo", "email": "gogo@gogo.de", "roles": "Administrator" },{ "pId": "DE124", "name": "Giant Ape", "email": "giant@ape.de", "roles": "Stuff" },{ "pId": "DE125", "name": "Jonnie", "email": "jonnie@goodboy.de", "roles": "Redaktur" },{ "pId": "DE126", "name": "Supermen", "email": "supermen@isdead.de", "roles": "Redaktur" } ]

и мой контроллер:

.controller('usersCtrl', function($scope, $http, $routeParams){
$scope.msg = 'I come from Users Controller';
$http.get('dataModel/users.json').then(function(res){
    $scope.users = res.data;
    $scope.users = $routeParams.pId;
})

})

и мой маршрут:

        .when('/users/:pId', {
        templateUrl: 'tpl/viewUsr.html',
        controller: 'usersCtrl'
    })

и мой tpl/viewUsr.html:

<h3>Hello User {{users[0].pId}}</h3>
<p>i come from {{users[0].pId}}</p>

каким-то образом представление не получает PID от контроллера. что я делаю не так? Большое спасибо за любую идею или помощь.

1 ответ

Решено!!

Вот так. Я сделал ошибку на контроллере, это должно быть так.

.controller('usersCtrl', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams){
$scope.msg = 'I Come from Users Controller';
$http.get('dataModel/users.json').success(function(res){
    $scope.users = res;
    $scope.viewUsr = $routeParams;
    //$routeParams = res.data.pId;
}) }])

и в представлении:

<h3>View User #{{viewUsr.pId}}</h3>
<p>Hello User #{{viewUsr.pId}}</p>

получайте удовольствие, если у кого-то есть такая же проблема, как и у меня:) спасибо всем за то, что выучили мою проблему:)

Другие вопросы по тегам