Как использовать переменную глобально внутри контроллера angularjs (1x)? - PullRequest
1 голос
/ 16 января 2020

Я хочу иметь массив внутри контроллера angularjs, который обновляется каждый раз, когда я вызываю функцию на веб-странице. Я объявил переменную var myArray = [] внутри контроллера, но каждый раз, когда я вызываю функцию, значение массива пустое, мне нужно, чтобы его область видимости была глобальной, чтобы при каждом вызове функции с веб-страницы массив обновлялся вместо этого. каждый раз инициализируется ... так что когда я нажимаю на кнопку второй раз, он добавляет еще один привет вместо того, что, я думаю, инициализирует массив каждый раз

Html Код:

<button ng-click="addToArray('hi')">Add to Array</button>

AngularJs Код:

var app = angular.module("myapp");
app.controller("MyController", function($scope,$window) {
     var myArray = [];
     $scope.addToArray = function(input) {
         myArray.push(input);
     }
})

Каждый раз, когда я нажимаю кнопку добавления в массив, массив становится новым и добавляет его только один раз

1 Ответ

1 голос
/ 16 января 2020

Код отлично работает в этом примере:

var app = angular.module("myapp",[]);
app.controller("MyController", function($scope,$window) {
     var myArray = [];
     $scope.addToArray = function(input) {
         myArray.push(input);
         console.log(myArray);
     }
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="myapp" ng-controller="MyController">
    <button ng-click="addToArray('hi')">Add to Array</button>
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...