Как обновить глобальную переменную внутри функции и использовать вне функции в angularjs

0

У меня есть функция, как определено ниже, здесь $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());


        });

  };

Я хочу утешить обновленное значение глобальной переменной вне функции.

  • 0
    Просто примечание по именованию: $scope.questions не является глобальной переменной, как это обычно описывается. Это просто свойство в $scope , которое само вводится в директиву, контроллер, что угодно. Глобальные переменные обычно определяются как переменные, которые существуют в глобальной области видимости, которая для браузеров является объектом window .
Теги:

1 ответ

0

Вы обновляете его, когда используете $ scope.questions.push("asdsd") ;. Проблема в том, что вы не видите ее на консоли, потому что ваш console.log вызывается только один раз при первом выполнении. Поэтому вам нужно следить за изменением ценности для этого:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню