AngularJS function and $scope

AngularJS function and $scope

本文关键字:scope and function AngularJS      更新时间:2023-09-26

我在控制器中定义了如下函数:

var getTransactions = function(transactionType, partnerId) {
        return loadTexts.getTransactionTexts(transactionType, partnerId).then(function (res) {
            $scope.loadedTexts = res.data.Transactions;
        });
    };

另一个$scope函数正在调用它。现在,当我为res.data.Transactions设置console.log时,一切都会按原样记录,但当我想将数据分配给$scope变量时,它根本不起作用。(load功能后,$scope.loadedTexts为空(

$scope.load = function() {
        getTransactions($scope.TransactionTypeId, $scope.selectedPartner.Id);
    };

有什么帮助吗?

代码:

 app.controller("textsController", function ($scope, $http, autoComplete, loadTexts) {
        $scope.selectedPartner = { "Name": "", "Id": null };
        $scope.loadedTexts = [];
        .. other functions are here ...
        var getTransactions = function(transactionType, partnerId) {
            return loadTexts.getTransactionTexts(transactionType, partnerId);
        };
        $scope.load = function () {
            getTransactions($scope.transactionType, $scope.selectedPartner.Id).then(function(res) {
                $scope.loadedTexts = res.data.Transactions;
            });
        };
    });

在代码中,您显示的一切对我来说都很好。但是,请注意,您将对Transactions的引用存储在loadedText中。也许"Transactions"对象res.Data.Transactions在其他地方被清除了。您可以尝试复制对象,而不是指定引用(例如使用angular.copy(来测试这是否是原因。