AngularJS函数和$ scope

时间:2014-05-02 09:07:49

标签: javascript angularjs

我的控制器中定义了这样的功能:

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);
    };

任何帮助?

CODE:

 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;
            });
        };

    });

1 个答案:

答案 0 :(得分:0)

在代码中,您显示的一切对我来说都很好。但请注意,您要在loadedTexts中存储对事务的引用。也许“事务”对象res.Data.Transactions在某种程度上被清除。 您可以尝试复制对象而不是分配引用(例如使用angular.copy)来测试这是否是原因。