Ng-Model an eine Liste von Radio-Buttons in Angular binden

Oluwafisayo Oluwatayo 20 März 2023
Ng-Model an eine Liste von Radio-Buttons in Angular binden

Wenn ein Webseitenbenutzer ein Element aus mehreren Optionen auswählt, hilft das erneute Anzeigen des ausgewählten Elements unter der Liste der Optionen dem Benutzer, seine Wahl zu verstehen. Dies ermöglicht es dem Benutzer, einfach mit der nächsten Aufgabe auf der Webseite fortzufahren.

Angular Funktionen wie diese sind ideal für die Entwicklung einer E-Commerce-Website. Damit die Website das ausgewählte Element anzeigt, betrachten wir die Verwendung des ng-model, um diese Funktion auszuführen.

Das ng-Modell kann an eine Liste von Optionsfeldern auf einer Webseite gebunden werden, und wir werden zwei verschiedene Methoden kennenlernen, um diese Funktionen auszuführen.

Verwenden Sie ng-model mit der $scope-Funktion, um ng-model an eine Liste von Optionsfeldern in Angular zu binden

Dieses einfache Beispiel definiert das ng-model in der index.html. Der HTML-Code sieht so aus.

HTML Quelltext:

<!DOCTYPE html>
<hmtl ng-app="testApp">
<head>
    <script data-require="angularjs@1.5.5" data-semver="1.5.5" src="https://
        code.angularjs.org/1.5.5/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
</head>
<body ng-controller="testController">
    <form>
        <div ng-repeat="option in occurrenceOptions track by $index">
            <input type="radio" name="occurrences" ng-value="option"
            ng-model="model.selectedOccurrence" />
            <label>{{ option }}</label>
        </div>
    </form>
    <div>The selected value is : {{ model.selectedOccurrence }}</div>
</body>

Dann führen wir in der Datei script.js die Funktion $scope innerhalb des Controllers aus. Das $scope hilft dabei, den Controller an das HTML zu binden, wo wir die Codierungen für das ng-model vorgenommen haben.

JavaScript-Code:

(function () {
    var app = angular.module('testApp', []);

    app.controller('testController', function($scope) {
        $scope.occurrenceOptions = [];

        $scope.occurrenceOptions.push('previous');
        $scope.occurrenceOptions.push('current');
        $scope.occurrenceOptions.push('next');

        $scope.model = {};
        $scope.model.selectedOccurrence = 'current';
    });
}());

Klicken Sie hier, um den in diesem Beispiel bereitgestellten Code auszuführen.

Verwenden Sie das ng-model mit der this-Funktion, um ng-model an eine Liste von Optionsfeldern in Angular zu binden

Der wesentliche Unterschied zwischen diesem Beispiel und dem vorherigen besteht darin, dass wir die Funktion this innerhalb des Controllers deklarieren und im Grunde die Funktion $scope ersetzen.

Wir ändern leicht den ng-repeat-Aspekt der index.html, der wie der unten stehende Code aussehen wird.

HTML Quelltext:

<!DOCTYPE html>
<html ng-app="testApp">
<head>
    <script data-require="angularjs@1.5.5" data-semver="1.5.5" src="https://
    code.angularjs.org/1.5.5/angular.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
</head>
<body ng-controller="testController as vm">
    <form>
    <div ng-repeat="option in vm.occurrenceOptions">
        <input type="radio" name="occurrence" ng-value="option" ng-model="vm.
            selectedOccurrence" />
        <label>{{ option }}</label>
    </div>
    </form>
    <div>The selected value is : {{ vm.selectedOccurrence }}</div>
</body>

Dann deklarieren wir in der script.js die this-Funktion innerhalb des Controllers.

JavaScript-Code:

(function () {
    var app = angular.module('testApp', []);

    app.controller('testController', function () {
        var vm = this;
        vm.occurrenceOptions = [];

        vm.occurrenceOptions.push('previous');
        vm.occurrenceOptions.push('current');
        vm.occurrenceOptions.push('next');

        vm.selectedOccurrence = 'current';
    });
})();

Klicken Sie hier, um den in diesem Beispiel verwendeten Code auszuführen.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn

Verwandter Artikel - Angular Radio Button