表示されたコンテンツのフィルタとして機能するドロップダウンなどのフィルタオプションがあります。 上記のコンテンツは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;
});
}
非常に明確な 'userTips'は配列ではありません。その値は'
'を使って確認できます。配列の場合は上記の部分を投稿してください。 –私はあなたの答えを理解していません。どのようにそれはuserTipsはオブジェクトの配列ではありませんか? – SKYnine
jsコードを入れてください。フィルタがそこにない配列を探しているようです。あなたのモデルは宣言か配列のインスタンス化ですか? https://docs.angularjs.org/error/filter/notarray – Gary