在 angularjs 中单击多个按钮的替代方法
Alternative approach for multiple button click in angularjs
我只是想知道是否有更好的方法来处理与下面相同的逻辑。单击它的 4 个按钮必须将(英语、德语、西班牙语、法语)等参数发送到 angular 函数。有没有可能通过使用模型绑定或数组或枚举来减少这里的代码重复?
即使是以下方法也可能是也可能不是处理它的最佳方法。由于我不太精通 angular,所以我不确定是否有更好的替代方法。请指教
基本上有什么方法可以更好地实现相同的逻辑??
注意:我使用的是angular1.7.2版本
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
var app = angular.module('app', []);
app.controller('myController', ['$scope', function($scope) {
$scope.Language = 'German';
$scope.Preference = function(lang) {
$scope.Language = lang;
};
}]);
</script>
</head>
<body>
<h2>Attach functions or behavior - AngularJS</h2>
<div ng-app="app" ng-controller="myController">
Click
<button ng-click="Preference('English')">English</button>
<button ng-click="Preference('German')">German</button>
<button ng-click="Preference('Spanish')">Spanish</button>
<button ng-click="Preference('French')">French</button>
<p>I like {{ Language}}</p>
</div>
</body>
</html>
您可以对按钮使用 ng-repeat
,对值使用数组。您还可以通过使用 ng-click
设置所选值来避免使用函数:
<button ng-repeat="lan in vm.languages" ng-click="vm.Preference(lan)">{{lan}}</button>
查看演示:DEMO
我只是想知道是否有更好的方法来处理与下面相同的逻辑。单击它的 4 个按钮必须将(英语、德语、西班牙语、法语)等参数发送到 angular 函数。有没有可能通过使用模型绑定或数组或枚举来减少这里的代码重复?
即使是以下方法也可能是也可能不是处理它的最佳方法。由于我不太精通 angular,所以我不确定是否有更好的替代方法。请指教
基本上有什么方法可以更好地实现相同的逻辑??
注意:我使用的是angular1.7.2版本
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script>
var app = angular.module('app', []);
app.controller('myController', ['$scope', function($scope) {
$scope.Language = 'German';
$scope.Preference = function(lang) {
$scope.Language = lang;
};
}]);
</script>
</head>
<body>
<h2>Attach functions or behavior - AngularJS</h2>
<div ng-app="app" ng-controller="myController">
Click
<button ng-click="Preference('English')">English</button>
<button ng-click="Preference('German')">German</button>
<button ng-click="Preference('Spanish')">Spanish</button>
<button ng-click="Preference('French')">French</button>
<p>I like {{ Language}}</p>
</div>
</body>
</html>
您可以对按钮使用 ng-repeat
,对值使用数组。您还可以通过使用 ng-click
设置所选值来避免使用函数:
<button ng-repeat="lan in vm.languages" ng-click="vm.Preference(lan)">{{lan}}</button>
查看演示:DEMO