получить переменную-модель в $ scope angularjs

0

У меня есть этот html-код:

<select class="" ng-model="livre_selection" material-select multiple watch>
                <option ng-repeat="livre in livres">{{livre.titre }}</option>
            </select>

могу ли я получить "livre_selection" в контроллере и поместить его в переменную внутри контроллера, чтобы я мог ее использовать?

спасибо

Теги:

4 ответа

1
Лучший ответ

да, вы можете получить это. Следуйте примеру example.check ng-change и ng-click. Вы можете сделать это, используя обе или только одну функцию.

<html>
  <body ng-app="myApp" ng-controller="yourCtrl">
    <select  ng-model="livre_selection" ng-change="a();" material-select multiple watch>
    <option ng-repeat="livre in livres">{{livre.titre }}</option>
    </select>
    <input type="button" value="save" ng-click="b();">

    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
    <script>
    var app = angular.module('myApp', []);
    app.controller('yourCtrl', function($scope) {
      $scope.livres=[{titre:"a"}]; 
      var selectedValue;

      $scope.a = function(){
        selectedValue = $scope.livre_selection;
      }

      $scope.b = function(){
        alert(selectedValue);
      }
    });   
    </script>      
  </body>    
</html>
3

Да, AngularJS имеет двустороннюю привязку данных. то, что вы добавили в ng-модель, будет доступно в контроллере через объект $scope. в вашем случае вы можете получить к нему доступ через $scope.livre_selection

  • 0
    это работало, однако, когда я помещаю console.log (результат), он показывает вывод дважды, почему это?
  • 0
    не могли бы вы использовать plunkr и опубликовать свой код там?
Показать ещё 7 комментариев
0

Пытаться

$scope.livre_selection = '';

Поскольку $ scope - это в основном карта, но более целесообразным было бы использовать именование переменной upperCase, например:

$scope.liveReSelection = '';

После этого вы сможете получить доступ к этой переменной в своем контроллере.

Вы можете прочитать больше здесь.

-2
  • контроллер

    $scope.livre_selection = ""; <br>

    var localVariable = "";

    $scope.changeValue=function(changedVal){ localVariable = changedVal; }

  • HTML

  • Напишите ng-изменение в html рядом с контроллером.
    <select class="" ng-change="changeValue(livre_selection)" ng-model="livre_selection" material-select multiple watch> <option ng-repeat="livre in livres">{{livre.titre }}</option> </select>

Ещё вопросы

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