从数据库

时间:2018-01-25 12:52:45

标签: javascript html angularjs

我正在尝试为嵌套的ng-repeat

获取唯一值

我正在使用两个范围

$scope.AllGames = [ 
   { title: "Doom", productCode: "458544", id_product: "1" }, 
   { title: "Wolvenstein", productCode: "457104", id_product: "2" }, 
   { title: "Quake", productCode: "32542687", id_product: "3" } 
];

$scope.AllPrices= [ 
   { id_productPrice: "1", id_product: "1", price : "599" }, 
   { id_productPrice: "2", id_product: "1", price : "699" }, 
   { id_productPrice: "3", id_product: "2", price : "249" } 
];

这是html

<div ng-repeat="game in AllGames">
    <div>{{game.title}} | {{game.id_product}} | {{game.title}}</div>
    <div ng-init="getPriceByGame(game.id_product)">

    <div ng-repeat="item in AllPrices">
            {{item.price}}
    </div>
</div>

这是控制器

    $scope.getAllGames = function () {
        var request = 'Games';
        $http({
            method: 'Get',
            url: uri + request
        })
            .success(function (data) {
                $scope.AllGames = data;
           })

    }

    $scope.getPriceByGame = function (id_product) {
    var request = AllPrices/' + id_product;

        $http({
            method: 'Get',
            url: uri + request
        })
            .success(function (data) {
                $scope.AllPrices = data;
            })
    };

所以我的想法是我将id_product发送到数据库,我得到一个返回该ID的价格列表,我想为每个独特的产品连接这些价格。现在发生的是ng-init工作正常,请求发送带有id,我收到该id的价格。在控制台日志中,我看到所有的价格都来自product_id(所有不同的数组),但我似乎无法在html中连接它们,所以我实际上看到了价格。

最后一个请求当然会覆盖ng-repeat中每个游戏的所有价格。我如何保持这种独特性?这样每个产品都能获得该ID的价格。

1 个答案:

答案 0 :(得分:0)

您可以放置​​另一个ng重复循环遍历所有Price数组。每次获得新数据时,都会将其推送到阵列。

不要忘记在所有价格的嵌套ng重复中进行编辑,它应该仅通过当前索引循环