首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular应用程序切片:无法读取未定义的属性‘TypeError’

angular应用程序切片:无法读取未定义的属性‘TypeError’
EN

Stack Overflow用户
提问于 2015-08-13 10:01:53
回答 2查看 3.5K关注 0票数 0

我在试着学习安古拉杰。我使用filter函数来排序一些项目,如下所示:

代码语言:javascript
复制
angular.module('reverseDirective', [])
.filter('reverse', function() {
    return function(items) {
        return items.slice().reverse();
    }
});

当我把它放到html文件中时

代码语言:javascript
复制
<div class="panel-body" ng-repeat="each in story.stories | reverse">
                    <p>{{ each.content }}</p>

控制台总是显示此错误:

代码语言:javascript
复制
TypeError: Cannot read property 'slice' of undefined
    at http:localhost:3000/app/directives/reverse.js:6:15
    at fn (eval at <anonymous> (http:localhost:3000/js/angular.min.js:212:83), <anonymous>:4:203)
    at Object.<anonymous> (http:localhost:3000/js/angular.min.js:117:376)
    at n.$get.n.$digest (http:localhost:3000/js/angular.min.js:132:124)
    at n.$get.n.$apply (http:localhost:3000/js/angular.min.js:135:269)
    at l (http:localhost:3000/js/angular.min.js:87:152)
    at F (http:localhost:3000/js/angular.min.js:91:187)
    at XMLHttpRequest.K.onload (http:localhost:3000/js/angular.min.js:92:220)

我找了又试,但还是找不到解决方案,所以我在等待。

EN

回答 2

Stack Overflow用户

发布于 2015-11-22 02:03:12

您应该检查项目是否存在。这个解决方案应该对您有效。

代码语言:javascript
复制
angular.module('reverseDirective', [])
       .filter('reverse', function() {
           return function(items) {
               if (!items) {
                   return;
               }
               return items.slice().reverse();
           }
       });
票数 2
EN

Stack Overflow用户

发布于 2015-08-13 10:11:13

你为什么不使用内置的过滤器orderBy。如果需要,您可以向它传递一个函数。检查文档的http://docs.angularjs.org/api/ng.filter:orderBy。它还支持反向功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31978330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档