Извините, я не мог поместить хороший титул, но надеюсь, вы поймете мой вопрос. На моей странице html я использую AngularJS, чтобы показать некоторые данные здесь моего кода:
<tr ng-repeat="d in list">
<td>{{d.nm}}</td>
<td>{{d.cty}}</td>
<td>{{d.hse}}</td>
<td>{{d.yrs}}</td>
</tr>
Теперь то, что я хочу сделать на фактической странице, - это показать только имя, ссылку на эту страницу на другую, содержащую детали, чтобы получить более чистые страницы. Так вот мой план
<tr ng-repeat="d in list">
<td ng-href="details.html">{{d.nm}}</td>
</tr>
и в details.html Я хочу показать только данные о имени, на которое я нажал. Например, если у меня есть:
{
["nm": "xxx",
"cty": "yyy",
"hse": "zzz",
"yrs": 2016
],
["nm": "aaa",
"cty": "bbb",
"hse": "ccc",
"yrs": 2014
]
}
Поэтому, если я нахожу xxx на своей домашней странице, в details.html, я должен получить только yyy, zzz и 2016 и т.д.. Возможно ли это?
Редактировать
app.factory('myapp', ['$http', function($http) {
function getLists() {
var tab = ['url1', 'url2', 'url3'];
var list = [];
for(i = 0; i < tab.length; i++) {
$http.get(tab[i])
.then(function(res) {
list.push(res.data);
});
}
return list;
}
return {
getLists: getLists
};
]);
контроллер:
$scope.list = myapp.getLists();
Если они находятся в одном контроллере
<tr ng-repeat="d in list">
<td ng-href="details.html" ng-click="getDetails(d)">{{d.nm}}</td>
</tr>
в контроллере:
$scope.getDetails = function(data){
$scope.selectedData = data;
}
В details.html:
<tr ng-repeat="d in selectedData">
<td>{{d.nm}}</td>
<td>{{d.cty}}</td>
<td>{{d.hse}}</td>
<td>{{d.yrs}}</td>
</tr>
И предоставленный вами JSON недействителен
измените это на:
[
{"nm": "xxx",
"cty": "yyy",
"hse": "zzz",
"yrs": 2016
},
{"nm": "aaa",
"cty": "bbb",
"hse": "ccc",
"yrs": 2014
}
}