$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>
получайте удовольствие, если у кого-то есть такая же проблема, как и у меня:) спасибо всем за то, что выучили мою проблему:)