2016-11-24 5 views
0

Dies ist main.html Strukturng-Route mit der ID funktioniert, aber ID mit ID von json ist falsch

<ul ng-repeat = 'user in users'>  
<li>{{user.first_name}} <span>X</span></li> 
<li>{{user.last_name}}</li> 
<li>{{user.email}}</li> 
<a href="#footer/{{user.id}}"/><li>{{user.id}}</li></a> 
</ul> 

Das ist mein route.js

app.config(function($routeProvider) { 
$routeProvider 
.when("/footer/:id",{ 
templateUrl:'./footer.html', 
controller: "getCtrl" 
}) 
.when("/nemke",{ 
templateUrl:"./form.html" 
}) 
.otherwise({ 
redirectTo:"/" 
}) 
}); 
app.controller('secondCtrl', function($scope) { 
$scope.name = "nemkesafsafa"; 

}); 

Diese main.js Datei ist

var app = angular.module("app",['ngRoute']); 
app.controller('getCtrl',['$scope', '$http', '$routeParams', 'users', function($scope, $http, $routeParams, users) { 
users.success(function(data){ 
var obje = data[0].first_name; 
console.log(obje); 
var keys = []; 
$scope.profile = data[$routeParams.id]; 

for(var i = 0; i< data.length; i++) { 
    keys.push(data[i].id); 
} 
$scope.users = data; 
}); 
users.error(function(){ 
    console.log("Nemke") 
}) 
}]); 

json.php

[{"id":"126","first_name":"Nemanja","last_name":"Dukic","email":"Car"},{"id":"127","first_name":"Nemanja","last_name":"Dukic","email":"Car"}] 

footer.html

<div> 
<h2>{{profile.id}}</h2> 
<h2>{{profile.fist_name}}</h2> 
<h2>{{profile.last_name}}</h2> 
<h2>{{profile.email}}</h2> 

</div> 

Also das Problem ist, wenn ich auf den Link clikc die URL in Ordnung ist, aber die Daten dipslay id footer.html ist falsch

Hier ist die picuter es ist easire diese Weise

Siehe Beschreibung in der Abbildung unten.

enter image description here

Vielen Dank im Voraus.

+0

ersetzt werden Was ist Ihr footer.html außerdem ist sieht aus wie $ scope.profile = data [$ routeParams.id]; Sie ordnen das indexbasierte Element zu, sollte es nicht für ID gefiltert werden? –

+0

wo ist footer.html –

+0

Sorry aktualisiert Antwort auf die Fußzeile @VinodLouis – NemanjaD

Antwort

1

$ scope.profile = Daten [$ routeParams.id];

sollte

$scope.profile = data.find(function(ele){ 
    return ele.id == $routeParams.id 
}); 
+0

Vielen Dank das funktioniert super. – NemanjaD