Как получить доступ к переменным в области видимости ng-repeat в AngularJS? - PullRequest
0 голосов
/ 20 декабря 2018

Я заполняю раскрывающийся список html из базы данных angularjs, и я хочу получить доступ к выбранному значению и передать его другой функции, чтобы получить дополнительные данные из базы данных, но я не могу получить доступ к значениям, которые являются тегом select, заполненным ng-repeat.

<select name="boja" ng-model="boja" class="form-control" ng-click="loadState(data.model)">  
<option value="">Odaberi boju</option>  
<option ng-repeat="boja in boje" value="{{boja.boja}}">{{boja.boja}}</option>  </select>



$scope.loadState = function(model){
        $http({
            method:"POST",
            url:"ubaciBoje.php",
            data:{'model':model}
        }).success(function(data){
            $scope.boje = data;
        }); 
};

Теперь, когда я хочу получить доступ к $ scope.boja в другой функции, она говорит, что она не определена.Но я могу получить доступ к $ scope.boje, который дает мне массив значений.Мой вопрос: как мне получить доступ к значению, выбранному пользователем, и передать его другой функции?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Здесь ng-click в select утверждении не является хорошим выбором.angularjs имеет очень хорошую директиву для выбора и генерации select HTML-шаблона.

<select ng-options="boja as boja.boja for boja in boje" ng-model="selectedBoja" ng-change="loadState(selectedBoja)"></select>

Здесь selectedBoja - это выбранный вами элемент, когда пользователь меняет элемент из списка выбора.

0 голосов
/ 20 декабря 2018

Когда вы сделаете это:

<option ng-repeat="boja in boje" value="{{boja.boja}}">{{boja.boja}}</option>  </select>

boja будет существовать здесь в шаблоне представления и только здесь.Если вы хотите использовать в коде компонента, вы должны напрямую передать его из представления в качестве параметра, например,

<option ng-repeat="boja in boje" value="{{boja.boja}}">{{someComponentMethod(boja.boja)}}</option>

, и, поскольку boje является полем области действия (здесь компонент), вы можете получить к нему доступ в любое время..

...