2017-07-02 4 views
0

表示されたコンテンツのフィルタとして機能するドロップダウンなどのフィルタオプションがあります。 上記のコンテンツはDBから呼び出され、表示には数ミリ秒かかります。その数ミリ秒の間に、私はフィルタリングシステムにリンクされた多くのエラーがあります。誰かがそれらを静かに保つ方法を知っていますか?まだ挿入されていない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 

EDITあなたがDBからデータをフェッチする前に、ここで

は、インスタンスコード

//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

関連する問題