链接数据对象中的ng-repeat

时间:2015-07-19 18:49:29

标签: javascript angularjs

我的Angular控制器中有一个Node对象。每个Node都有一个next属性,指向下一个项目:

$scope.Stack = function () {
        this.top = null;
        this.rear = null;
        this.size = 0;
        this.max_size = 15;
    };


    $scope.Node = function (data) {
        this.data = data;
        this.next = null;
        this.previous = null;
    };

    $scope.Stack.prototype.pushUp = function (data) {
        for (i = 0; i < data.items.length; i++) {
            if (data.items[i]) {

                var node = new $scope.Node(data.items[i]);
                if (node) {
                    node.previous = this.top;

                    if (this.top) {
                        this.top.next = node;
                    }

                    this.top = node;

                    // if first push, the set the rear
                    if (this.size == 0) {
                        this.rear = node;
                    }

                    this.size += 1;
                }
            }
        }

    };

创建对象:

$scope.Timeline = new $scope.Stack();

我的问题:有没有办法使用ng-repeat / Angular迭代这样的链接数据结构?

1 个答案:

答案 0 :(得分:1)

根据AngularJS文档,

  表达式中的

变量 - 其中variable是用户定义的循环变量,expression是一个范围表达式,用于枚举集合。

因此ngRepeat只能用于迭代Javascript“Collection”。集合包括Arrays,Maps,Sets和WeakMaps。所以你的问题的答案是否定的,你不能迭代链接结构。