TypeError:未定义不是函数-AngularJS

TypeError: Undefined is not a function - AngularJS

本文关键字:函数 -AngularJS 未定义 TypeError      更新时间:2023-09-26

我在概览页面上遇到一个错误。我为概览表创建了一个分页。分页正在工作,但当加载页面时,我收到一个错误:

"TypeError:undefined不是函数"。

我无法解决这个问题,我对AngularJS还比较陌生。错误发生在最后一条返回线上的以下制作的过滤器中:

AngularJS:

angular.module('app').filter('pagination', function(){
    return function(input, start)
    {
        start = +start;
        return input.slice(start);
    };
});

HTML:

    <tbody>
    <tr ng-repeat="question in questions | orderBy:order:reverse | filter:searchText | pagination: curPage * pageSize | limitTo: pageSize">
        <td>{{ question.text }}</td>
        <td>{{ question.times_asked }}x </td>
        <td>--%</td>
        <td>
            <button class="btn" ng-click="createModel(question.id)">
                <span class="glyphicon glyphicon-pencil"></span>
            </button>
        </td>
        <td>
            <button class="btn" ng-click="createDeleteModel(question.id)">
                <span class="glyphicon glyphicon-trash"></span>
            </button>
        </td><td>
    </tr>
    </tbody>
<div class="pagination pagination-centered" ng-show="questions.length">
<ul class="pagination-controle pagination">
 <li>
  <button type="button" class="btn btn-primary" ng-disabled="curPage == 0"
 ng-click="curPage=curPage-1"> &lt; Vorige pagina</button>
 </li>
 <li>
 <span>Pagina {{curPage + 1}} van {{ numberOfPages() }}</span>
 </li>
 <li>
 <button type="button" class="btn btn-primary"
 ng-disabled="curPage >= questions.length/pageSize - 1"
 ng-click="curPage = curPage+1">Volgende pagina &gt;</button>
 </li>
</ul>
</div>

提前感谢!

Thomas

切片前检查输入是否为数组

angular.module('app').filter('pagination', function(){
    return function(input, start)
    {
        start = +start;
        if(angular.isArray(input) && input.length > 0) {
             return input.slice(start);
        }
        //console.log(input);
        return input;
    };
});

您可以使用console.log检查输入是否不是数组