UnderscoreJS在Angular控制器中查找结果

时间:2015-09-21 14:31:51

标签: angularjs underscore.js

我有一个控制器设置,其输​​入带有一个采购订单编号。在获得结果的那一刻,我设置数据[0]并始终返回第一个结果。我想设置一个验证,输入的数字将返回正确的结果。在我能做到这一点之前,我需要迭代结果,只返回我需要的数据,而不是硬编码到第一个结果。我使用下划线并设置了以下但没有检索我想要的结果。请问有人可以建议我如何使用下划线来做这件事吗?

不起作用的下划线:

            var test = _.map(data, function(data) {
                return {
                    purchaseOrderNumber: data.purchaseOrderNumber
                };
            });

            console.log(test);

控制台输出:

[Object, Object]
0: Object
1: Object
length: 2
__proto__: Array[0]

html:

        <form novalidate name="goodsIssueForm" class="form-group cnc-inline-field">
            <input type="number" class="form-control" name="purchaseOrderInput" ng-model="purchaseOrderInput" ng-change="resetGoodsIssueValidity()" required></input>
            <button data-auto="rpoBtn" ng-click="getPurchaseOrder()" class="btn btn-primary">Find</button>
        </form>

控制器:

    $scope.getPurchaseOrder = function() {
        var purchaseOrderNumber = $scope.purchaseOrderInput;

        GoodsIssueService.getPurchaseOrders(purchaseOrderNumber)
        .then(function(data) {
            if ($scope.goodsIssueForm.$valid) {
                $scope.goodsIssueDocument = data;
                $scope.goodsIssueDocument.purchaseOrderNumber = data[0].purchaseOrderNumber;
            }

        })
        .catch(function() {
            $scope.goodsIssueForm.$setValidity('notfound', false);
        });
    };

0 个答案:

没有答案