Это должно быть очень простой задачей. Я создаю приложение IONIC с файлом данных JSON. Данные - вот что.Ионный идентификатор целых чисел от данных JSON
[
{ "id": 1,
"name": "John",
"type": "male",
"bio": "this is John"
},
{ "id": 10,
"name": "Mary",
"type": "female",
"bio": "this is Mary"
}
]
Теперь я хочу отфильтровать по «типу» в данных, а затем закодировать данные по «id».
<ion-list ng-repeat="person in people | filter: {'type': 'male'}">
<ion-item href="#tab/people/males/{{ person.id }}">{{ person.name }}
</ion-item>
</ion-list>
Контроллер для этого:
.controller('PeopleController', ['$scope', '$state', '$http', function($scope, $state, $http){
$http.get('data/people.json').success(function(data){
$scope.people = data;
$scope.whichPerson = $state.params.id;
}),
}])
Это отображает необходимые данные самцов только по имени.
Однако, если я хочу, чтобы увидеть отдельные био используя следующий код
<div class="card" ng-repeat="person in people | filter: { id: whichPerson }">
<h2>{{ person.name }}</h2>
<p>{{ person.bio}}</p>
</div>
Когда я нажимаю отдельный элемент для каждого человека, чтобы показать person.bio я как Джон и Мэри.
Я понял, что это было потому, что «id» равен 1 и 10, который, по-видимому, разбирается как строка с контроллером. Я постарался поставить это
"id": "1" and "id": "10"
Не работает. Я сделал это в контроллере
$scope.whichPerson = parseInt($state.params.id, 10);
Это также не работает. Я полностью в тупике. Как получить индивидуальный идентификатор от данных? На самом деле я заметил, что я могу изменить идентификатор до 11 или 12 или 13 и т. Д., И он все равно возвращает обе записи?
Любая помощь приветствуется.
Можете ли вы подтвердить правильность присвоения $ scope.whichPerson'? –
Да, все работает правильно. Если я сменю фильтр на «имя», все будет работать отлично, но не с идентификатором, и я не могу понять, почему – boony
@kolli прав, вам нужно добавить фильтр-компаратор: {id: whichPerson}: true', просто сделайте sure '$ scope.whichPerson' является целым числом в соответствии с вашими данными json –