我有这个HTML代码:
<select class="" ng-model="livre_selection" material-select multiple watch>
<option ng-repeat="livre in livres">{{livre.titre }}</option>
</select>
我可以在控制器中获取“livre_selection”并将其放入控制器内的变量中以便我可以使用它吗?
谢谢
答案 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>