我已经在这里阅读了很多问题,但有些事情并没有点击我并理解我的这个问题。
js代码:
app.controller('example_ctrl',['$scope','$http', function($scope,
$http){
$http.get('api_call_here').then(function successCallBack(response){
$scope.response = response;
});
api的Json格式:
{
"categoryOne": {
"1": {
"title": "someData1",
"description": "This is number One"
},
"2": {
"title": "moreData1",
"description": "I am not a number, I'm a free man!"
}
}
}
现在因为没有在数组中返回,每当我尝试过滤它时都会收到错误。举个例子:
<div ng-repeat="(category, object) in response.data">
<div ng-repeat="item in object">
<p>{{item.title}}</p>
</div>
</div>
现在,如果我尝试将ng-model放在搜索输入上,并使用| filter:ng-model名称将其绑定到ng-repeat,我会收到错误。
我基本上想要做的是,当你在搜索字段中键入文本时,让它只返回包含该文本的标题/描述。
答案 0 :(得分:0)
您可以将每个类别中的对象列表转换为数组:
app.controller('example_ctrl',['$scope','$http', function($scope, $http){
$http.get('api_call_here').then(function(response) {
Object.keys(response.data).forEach(function(category) {
response.data[category] = Object.values(response.data[category]); // Transfom list of objects in each category to array
});
console.log("transformed: ", response);
$scope.response = response;
});