javascript - 如何在 http 请求中应用自定义过滤器?

标签 javascript html angularjs

我正在尝试从 http 请求应用过滤器。

我有类似的东西

html

<div ng-repeat="product in products | testFilter:5 "> {{product.title}} </div>

js

app.controller('test', function($scope, $filter){
   myService.get('api/v1/products/?id=1').success(function(data) {
       $scope.products = data;    

   })
}

app.filter('testFilter', function() {
      return function(products, item) {             
          //codes...
          var t = products.length
      }
})

过滤器在我从 myService 获取数据“之后”开始工作。但是,在加载数据时,我不断收到“无法读取未定义的属性“长度””。我知道这是因为数据仍在加载。我该如何解决这个问题?谢谢。

最佳答案

您只需在进行 ajax 调用之前初始化 $scope.products 即可。

类似于: $scope.products = []; 应该这样做!

关于javascript - 如何在 http 请求中应用自定义过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24643921/

相关文章:

javascript - RegExp 转到 toString 然后返回时出现意外行为

PHP GET MySQL order by 如果不为空 echo else echo 如何

html - css 对齐问题 <dl> <dd >

javascript - 将一个 HTML 元素滚动到另一个元素的中心

javascript - 如何从 AngularJS 指令中选择动态生成的元素?

javascript - 如何读取angularjs中的url查询参数?

javascript - 如何在 Angular 的 promise 之外获取变量?

javascript - 带填充的 DIV 背景定位

javascript - 是否可以调试 Node repl

javascript - jwplayer 6 带有预卷视频和 xml 文件