angularjs中多个按钮单击的替代方法

问题描述 投票:0回答:1

我只是想知道是否有更好的方法来处理以下相同的逻辑。它的4个按钮onclick必须将参数(例如英语,德语,西班牙语,法语)发送到角度函数。是否有可能通过使用模型绑定或数组或枚举来减少代码的重复?]

即使以下方法也可能不是处理它的最佳方法。由于我不擅长角度,因此我不确定是否有更好的替代方法。请指教。

基本上没有什么方法可以更好地实现相同的逻辑?

注意:我使用的是Angular 1.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>
angularjs button angularjs-ng-click alternate
1个回答
2
投票
<button ng-repeat="lan in vm.languages" ng-click="vm.Preference(lan)">{{lan}}</button>

查看演示:DEMO

© www.soinside.com 2019 - 2024. All rights reserved.