我有过滤选项,例如下拉列表,用作显示内容的过滤器。 从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;
});
}
答案 0 :(得分:0)
在从db获取数据之前,请检查初始化的userTips。如果未初始化,则将其初始化为空数组。