小编sto*_*ree的帖子

Angularjs错误:[filter:notarray]预期数组但收到:{}带有ng-repeat的过滤器

我正在尝试使用ng-repeat指令使用对API的角度请求来填充html表.首先加载html页面,然后发出请求以获取返回响应时填充表的数据.当我向ng-repeat指令添加过滤器时,表格被填充并且过滤器起作用,但是在我的chrome浏览器控制台中,我收到以下错误:

错误:[filter:notarray]预期数组但收到:{} http://errors.angularjs.org/1.4.3/filter/notarray?p0=%7B%7D 在REGEX_STRING_REGEXP(angular.js:68)处于角度. js:18251 at Scope.fn(app.js:185)at Scope.$ get.Scope.$ digest(angular.js:15683)at Scope.$ get.Scope.$ apply(angular.js:15951)at bootstrapApply (angular.js:1633)在Object.invoke(angular.js:4450)atBootstrap(angular.js:1631)at bootstrap(angular.js:1651)at angularInit(angular.js:1545)

我在plunker上设置了一个样本,当运行样本时,错误也会显示在控制台中:

http://plnkr.co/edit/J83gVsk2qZ0nCgKIKynj

html:

<!DOCTYPE html>
<html>
<head>
  <script data-require="angular.js@*" data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular.js"></script>
  <script data-require="angular-route@*" data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular-route.js"></script>
  <script data-require="angular-resource@*" data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular-resource.js"></script>
  <script type="text/javascript" src="example.js"></script>
  <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css" rel="stylesheet" />
</head>
<body ng-app="inventoryManagerApp">
  <h3>Sample - Expected array error</h3> Filter
  <input type="text" id="quoteListFilter" class="form-control" ng-  model="search" />
  <div ng-controller="QuoteController">
    <table class="table table-bordered">
      <tbody>
        <tr>
          <th>Specification</th>
          <th>Quantity</th>
        </tr>
        <tr ng-repeat="quote in quotes | filter:search">
          <td>{{quote.SpecificationDetails}}</td>
          <td>{{quote.Quantity}}</td>
        </tr>
      </tbody> …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-ng-repeat

12
推荐指数
2
解决办法
3万
查看次数