Ich benutze Bootstrap Toggle und Handhabung Auswahl in einer Funktion. In meiner Anwendung wird es viele Umschaltgruppen geben. Ich möchte doppelte Code entfernen und haben einen gemeinsamen Service/Fabrik, die Toggle-Auswahl für n
Anzahl von Toggle behandeln wird.wie generalize Bootstrap Toggle Auswahl mit Angular
Hier ist Link zu meinem PLUNKER.
Sie fragen sich vielleicht, was ist die Notwendigkeit, die Auswahl zu handhaben? weil basierend auf der Umschaltauswahl Änderungen in DOM vorgenommen werden. Einige Felder können basierend auf der Auswahl ausgeblendet werden.
Bitte beziehen Sie sich nicht auf eine Bibliothek von Dritten, helfen Sie mir beim Verständnis der Logik, wie dies getan werden kann.
Hier ist mein Code:
HTML
<div class="form-group" style="height: 50px;">
<label class="control-label col-md-4 col-sm-4 col-xs-4">NUMERIC VALUE</label>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="btn-group">
<button type="button" class="btn btn-toggle" value="111" ng-class="{active: vm.sharedService.numericValue === '111'}" ng-click="vm.selectNumericValue('111')">
111
</button>
<button type="button" class="btn btn-toggle" value="222" ng-class="{active: vm.sharedService.numericValue === '222'}" ng-click="vm.selectNumericValue('222')">
222
</button>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-4 col-sm-4 col-xs-4">ALPHABETICAL VALUE</label>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="btn-group">
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.alphaValue === 'AAA'}" ng-click="vm.selectAlphaValue('AAA')">
AAA
</button>
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.alphaValue === 'BBB'}" ng-click="vm.selectAlphaValue('BBB')">
BBB
</button>
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.alphaValue === 'CCC'}" ng-click="vm.selectAlphaValue('CCC')">
CCC
</button>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-4 col-sm-4 col-xs-4">Mix VALUE</label>
<div class="col-md-6 col-sm-6 col-xs-6">
<div class="btn-group">
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.mixValue === 'A1'}" ng-click="vm.selectMixValue('A1')">
A1
</button>
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.mixValue === 'B1'}" ng-click="vm.selectMixValue('B1')">
B1
</button>
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.mixValue === 'C1'}" ng-click="vm.selectMixValue('C1')">
C1
</button>
<button type="button" class="btn btn-toggle" ng-class="{active: vm.sharedService.mixValue === 'D1'}" ng-click="vm.selectMixValue('D1')">
D1
</button>
</div>
</div>
</div>
JS
function selectNumericValue(numValue) {
vm.sharedService.numericValue = numValue;
}
function selectAlphaValue(alphaValue) {
vm.sharedService.alphaValue = alphaValue;
}
function selectMixValue(mixValue) {
vm.sharedService.mixValue = mixValue;
}
loswerden bootstrap.js und verwenden Sie angular-ui-Bootstrap. Es gibt gute Gründe, warum es erstellt wurde und es wird Ihre Aufgabe viel einfacher machen. Warum versuchen Sie das Rad neu zu erfinden? – charlietfl
okay ... irgendein Beispiel für mein Szenario? – ankitd
Warum hast du all diese 'if()'? Endergebnis ist, sie tun nichts – charlietfl