Javascript 未使用AngularJS在主页上加载数据

Javascript 未使用AngularJS在主页上加载数据,javascript,angularjs,json,Javascript,Angularjs,Json,我有一个简单的AngularJS应用程序,它从JSON读取数据并将其显示在页面上。我还有几个过滤器来搜索数据。现在我面临的问题是,在我实现了过滤逻辑之后,数据没有显示在页面上。它是在我将过滤纳入代码之前显示的 以下是呈现的内容: 以下是错误: angular.js:13236错误:[filter:notarray]应为数组,但收到:0 在角上。js:68 在angular.js:19280 在fn处(评估角度:14086),:4:315) 在trackByIdExpFn(angular.js:

我有一个简单的AngularJS应用程序,它从JSON读取数据并将其显示在页面上。我还有几个过滤器来搜索数据。现在我面临的问题是,在我实现了过滤逻辑之后,数据没有显示在页面上。它是在我将过滤纳入代码之前显示的

以下是呈现的内容:

以下是错误:

angular.js:13236错误:[filter:notarray]应为数组,但收到:0 在角上。js:68 在angular.js:19280 在fn处(评估角度:14086),:4:315) 在trackByIdExpFn(angular.js:28452) 在ngRepeatAction(angular.js:28509) 在$watchCollectionAction(angular.js:16529) 范围$digest(angular.js:16664) 在范围内$apply(angular.js:16928) 完成时(angular.js:11266) 在completeRequest(angular.js:11464)(匿名函数)@angular.js:13236(匿名函数)@angular.js:9965Scope.$digest@angular.js:16682Scope.$apply@angular.js:16928done@angular.js:11266completeRequest@angular.js:11464requestLoaded@angular.js:11405

foll是我的JSON结构:

[    
  {
    "name": "George Eliot",
    "thoughts": ["thought 1", "thought 2", "thought 3"]   
  },

  {
    "name": "Nietzsche",
    "thoughts": ["thought 1", "thought 2", "thought 3"]    
  }    
]
以下是视图中我的筛选代码:

<md-input-container>
    <label>Enter Search Term</label>
    <input type="text" ng-model="classifiedsFilter">
</md-input-container>

<md-input-container>
    <label>Select a Master</label>
    <md-select ng-model="name">
        <md-option ng-repeat="name in names | orderBy: 'toString()'" value="{{ name }}">  
        {{ name }} 
        </md-option>
    </md-select>
</md-input-container>

<md-input-container>
    <md-button class="md-warn" ng-click="classifiedsFilter = ''; name = ''">Clear</md-button>
</md-input-container>
<md-content class="md-padding" layout="row" layout-align="center" layout-wrap>
    <md-card ng-repeat="classified in classifieds track by $index | filter: classifiedsFilter | filter: name" flex-xs="100" flex-gt-sm="70">

    <md-card-content>
        <div class="classified-info">
            <h2 class="md-display-2">{{ classified.name }}</h2>
            <ul> 
                <li ng-repeat="thought in classified.thoughts track by $index">{{ thought }}</li>
            </ul>  
        </div>

        </md-card-content>
    </md-card>
</md-content>

任何帮助都将不胜感激。谢谢。

我只是在探索我的代码。。我发现,当我删除
| filter:classifiedsFilter | filter:name
时,就会加载内容,并且不会出现错误。我在这里遗漏了什么?嗨,你不能在同一个元素中使用2个过滤器…你必须创建自定义过滤器。我删除了按$index分类的
track
agst
,数据正在加载,没有任何错误。我只是好奇为什么会这样,因为在我实现过滤逻辑之前,我必须合并
track by$index
,以避免ngdups错误。
(function(){
     "use strict";   
     angular
      .module("ngClassifieds")
      .controller("classifiedsCtrl", function($scope, $http, classifiedsFactory) {
        classifiedsFactory.getClassifieds().then(function(mastersdata) {   
            $scope.classifieds = mastersdata.data;
            $scope.names = getNames($scope.classifieds);
        });

        function getNames(classifieds) {    
            var names = [];
            angular.forEach(classifieds, function(item) {                                   
                        names.push(item.name);                  
            });

            return _.uniq(names);               
        }    
    });    
})();