AngularJS ng-repeat:将对象推送到数组

时间:2015-08-05 09:22:19

标签: angularjs

我有selectedProduct的对象。我现在想要创建这些selectedProduct对象的数组,以便我可以使用ng-repeat构建一个列表。我已经将范围设置为空数组,但推动这些数据的角度方式是什么,所以我可以通过ng-repeat,即产品中的产品来访问它们。

 $scope.products = [];

    $scope.getProduct = function() {
        ProductService.getProduct($scope.eanInput.ean)
        .then(function(product) {
            $scope.selectedProduct = product;
            $scope.selectedProduct.ean = $scope.eanInput.ean;
            $scope.selectedProduct.qtyInput = 1;
            $scope.focusOn = 'qty';

            $scope.eanInput.productFound = true;
        })
        .catch(function() {
            $scope.eanInput.productFound = false;
        });
    };

2 个答案:

答案 0 :(得分:3)

据我所知,没有将对象推入数组的角度方式,你只需使用默认的javascript方式:

$scope.products.push(product);

答案 1 :(得分:2)

说实话,我会把它们推到阵列中:

 $scope.products = [];

    $scope.getProduct = function() {
        ProductService.getProduct($scope.eanInput.ean)
        .then(function(product) {
            $scope.selectedProduct = product;
            $scope.selectedProduct.ean = $scope.eanInput.ean;
            $scope.selectedProduct.qtyInput = 1;
            $scope.focusOn = 'qty';
            $scope.products.push(product)


            $scope.eanInput.productFound = true;
        })
        .catch(function() {
            $scope.eanInput.productFound = false;
        });
    };

然后在html中你可以做到:

<div ng-controller="YourCtrl">
    <h1 ng-repeat="product in products">
    {{product.ean}}
    </h1>
</div>