AngularJS分页和无法读取的未定义的属性'片' [英] AngularJS pagination and Cannot read property 'slice' of undefined

查看:210
本文介绍了AngularJS分页和无法读取的未定义的属性'片'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Iv'e得到了一个问题。
请帮我什么是错的。

Iv'e got an problem. Please help me what is wrong.

还有就是我的code:

There is my code :

(function () {

    var app = angular.module('store', ['ui.bootstrap']);

    app.controller('StoreController', function ($scope, $http) {
        $scope.pageSize = 20;
        $scope.currentPage = 1;
        $http.get("../scripts/products.php").success(function (data) {
            $scope.products = data;
        });

    }).filter('startFrom', function () {
        return function (data, start) {
            return data.slice(start);
        };
    });
})();

和HTML:

<div class="col-md-2 product " ng-hide="product.soldOut" ng-repeat="product in products| orderBy:sortorder | filter: searchBox | startFrom:(currentPage - 1) * pageSize | limitTo: pageSize">
    <img src="../products/{{product.image}}">
    <h4>{{product.nazwa}}
        <br>
        <br>
    </h4>
    <strong>{{product.cena| currency:"PLN "}}</strong>

    <div class="colored">{{product.usagee}}</div>
    <div class="buttons">
        <a href="/product/{{product.id}}" class="btn btn-default btn-sm" style="">Szczegóły</a>
        <a href="/product/{{product.id}}" class="btn btn-success btn-sm" ng-show="product.dostepny">Kup</a>
    </div>
</div>
<div class="col-md-12">
    <uib-pagination class="pagination-sm" previous-text="Poprzednia" next-text="Następna" total-items='products.length' ng-model='currentPage' items-per-page='pageSize'></uib-pagination>
</div>

我正在寻找在谷歌和堆栈,但我找不到什么好的解决办法。

I was searching in google and stack but i can't find any good solution.

推荐答案

您必须检查$ scope.products定义看起来它的服务器返回的数据之前的不确定的。

You have to check that $scope.products is defined it seems like it's undefined before the server returns its data.

您可以在过滤器设置在控制器中定义的数据或initalize产品是一个空数组检查。

You can set a check in the filter for data to be defined or initalize products in the controller to be an empty array.

这篇关于AngularJS分页和无法读取的未定义的属性'片'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆