2017-07-02 32 views
0

我有過濾器選項,如下拉菜單,它們充當顯示內容的過濾器。 所說的內容是從數據庫中調用的,需要幾ms才能顯示。在那幾個ms期間,我有很多與過濾系統有關的錯誤。有人知道如何保持安靜嗎?ng-repeat尚未填充的角度過濾器

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; 
     }); 
    } 
+0

其非常明確的'userTips'不是一個數組,你可以使用'

{{ userTips | json}}
'看到它的值,請在上面部分以防其數組 –

+0

我不理解你的答案。它如何userTips不是一個對象數組? – SKYnine

+0

請把js代碼。看起來像過濾器正在尋找一個不存在的數組。你的模型是一個聲明還是一個數組實例? https://docs.angularjs.org/error/filter/notarray – Gary

回答

0

您將獲取從數據庫中的數據之前,請檢查什麼userTips被初始化。如果未初始化,請將其初始化爲空數組。

+0

請參閱我的問題中的更新。空數組在被填充之前被初始化' – SKYnine