尚未填充ng-repeat的角度过滤器

时间:2017-07-02 14:06:18

标签: javascript angularjs angularjs-ng-repeat

我有过滤选项,例如下拉列表,用作显示内容的过滤器。 从DB调用所述内容,并花费几毫秒来显示。在那几个ms期间,我有很多与过滤系统相关的错误。有人知道如何保持安静吗?

HTML标记

<div class="user-content py-4 px-5">
    <ul class="nav justify-content-center pb-3" id="filters">
        <li class="nav-item dropdown">
            <select class="form-control" id="continent" ng-model="filter_continent">
                <option value="">continent</option>
                <option ng-repeat="con in continents" value="{{con}}">{{con}}</option>
            </select>
        </li>
        <li class="nav-item dropdown">
            <select class="form-control" id="category" ng-model="filter_cat">
                <option value="">catégorie</option>
                <option value="experience">Experience</option>
                <option value="explore">Explore</option>
                <option value="globe">Globe</option>
                <option value="sleep">Sleep</option>
                <option value="taste">Taste</option>
            </select>
        </li>
    </ul>

    <div ng-show="tipson" class="tips-widget text-center mb-5" 
         ng-repeat="item in userTips | filter:{category:filter_cat,continent:filter_continent}" 
         id="{{item._id}}" 
         style="background-image: url('{{item.cover}}');" 
         data-id="{{item._id}}" 
         ng-mouseenter="placeHover(item._id, item.lat)" 
         ng-click="show_tips(item._id)">
        <div class="background"></div>
        <p class="location"><span>{{item.country}}</span>, {{item.city}}</p>
        <h3>{{item.name}}</h3>
    </div>
</div>

我得到的错误。填充ng-repeat源阵列后,错误就会停止。

Error: [filter:notarray] http://errors.angularjs.org/1.4.9/filter/notarray?p0=%7B%7D

编辑

这是实例代码

 //USER TIPS
  $scope.userTips = {};


  $scope.user_tips = function(id){
    Tips.getByAuthorId(id)
      .success(function(data) {
        $scope.userTips = data;
      });
  }

1 个答案:

答案 0 :(得分:0)

在从db获取数据之前,请检查初始化的userTips。如果未初始化,则将其初始化为空数组。