如何在函数内更新全局变量并在angularjs中使用函数外部

时间:2016-08-18 19:53:06

标签: angularjs

我有一个如下定义的函数,这里$scope.questions是一个全局变量。我想修改像$scope.questions.push("asdsd");

这样的全局变量
$scope.viewQuestion = function(item) {
        //$scope.items = ['item1', 'item2', 'item3'];
console.log(item);
        //$scope.questions.push(item);
        $scope.questions.push("asdsd");
        console.log($scope.questions);
        //$cookieStore.put('question', $scope.questions);

        var modalInstance = $modal.open({
            templateUrl: 'questionbank.view.html',
            controller: 'questionbankController',
            //$scope.products = products;
            //size: size,
            resolve: {
                user: function() {
                    return item;
                },
                products: function () {
                    //console.log($scope.selectedProducts);
                    return item; // get all available products
                }
            }
        });

        modalInstance.result.then(function (selectedItems) {
            //products = selectedItems;
        }, function () {

            $log.info('Modal dismissed at: ' + new Date());


        });

  };

我想在函数外部控制更新的全局变量值。

1 个答案:

答案 0 :(得分:0)

使用$ scope.questions.push(“asdsd”);时更新它。问题是你没有在控制台上看到它,因为你的console.log在第一次执行时只调用一次。所以你必须观察价值的变化:

  $scope.$watch(function ($scope) {
                return $scope.questions;
            }, function(newValue){ 
                 console.log(newValue); 
             }, true);