在$ scope变量angularjs

时间:2016-05-12 16:55:18

标签: angularjs

我有这个HTML代码:

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

我可以在控制器中获取“livre_selection”并将其放入控制器内的变量中以便我可以使用它吗?

谢谢

4 个答案:

答案 0 :(得分:3)

是的,AngularJS有双向数据绑定。您放入ng-model的任何内容都将通过$scope对象在控制器中提供。 在您的情况下,您可以通过$scope.livre_selection

访问它

答案 1 :(得分:1)

是的,你可以得到它。关注example.check ng-change ng-click 函数。你可以使用两个函数或只使用一个函数。< / p>

<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>

答案 2 :(得分:0)

尝试

$scope.livre_selection = '';

因为$ scope基本上是一个映射,但更可取的是你可以使用upperCase变量命名,如下所示:

$scope.liveReSelection = '';

之后,您将能够在控制器中访问此变量。

您可以阅读更多here

答案 3 :(得分:-2)

  • 控制器

    $scope.livre_selection = ""; <br>

    var localVariable = "";

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

  • HTML

  • 在控制器附近的html中写入ng-change。
    <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>