in Ihrer Plunker Demo bootstrap
nicht genutzt Klasse verwendet btn btn-primary btn-secondary
so bootstrap
Link hinzufügen.
und ungültiger Ausdruck für ng -class
. verwenden sollte
class="btn" ng-class="button.view1Selected ? 'btn-primary active' : 'btn-secondary'"
insted
class="btn ng-class:button.view1Selected ? 'btn-primary active' : 'btn-secondary'"
Besser einen Array zu verwenden, um alle Tasten Ansicht speichern Informationen mit ausgewählter Eigenschaft, dass zunächst falsch.
wie: $scope.views = [{isSelected: false},{isSelected: false}];
// Index basiert 0 für die 1. Taste ... `oder können bestimmte Eigenschaft basieren, wie Sie benötigen
und wenn darauf geklickt gesetzt ausgewählt und nach Klasse auf eine beliebige Taste dann diese Taste eingestellt Ihre Bedingung. Rufen Sie eine Funktion auf, um die spezifische Schaltfläche für die aktive Flagge zu setzen.
wie: ng-click="selectedButton(1)"
und überprüfen Klasse festlegen wie: ng-class="views[0].isSelected ? 'btn-primary active' : 'btn-secondary'"
selectedButton
Funktion wie:
$scope.selectedButton = function(viewIndex){
angular.forEach($scope.views, function(view, index) {
if(viewIndex == index) {
view.isSelected = ! view.isSelected;
} else {
view.isSelected = false;
}
});
};
See Plunker Demo
I aktualisiert [meine Plunker] (http: // pnrnr.co/edit/gs0s1FeIu3B2DsEMBkzp?p=preview) basierend auf Ihren Vorschlägen, aber immer noch kein Glück – Richard
Ihr Code s till verlässt sich auf etwas im Geltungsbereich namens "view", das nicht definiert ist. Während Sie etwas zufällig hinzufügen können, wie Dinge zum Geltungsbereich hinzufügen, können Sie keine Eigenschaft _zu etwas hinzufügen, das nicht existiert_ (dh es existiert ein Bereich, so dass Sie ihm etwas hinzufügen können, aber '$ scope.view' nicht, also können Sie '$ scope.view.isSelected' nicht hinzufügen. Erstellen Sie in Ihrem Controller '$ scope.view' als Objekt. ... Dies betrifft jedoch nicht den zweiten Teil von Punkt 3, obwohl, selbst wenn Sie $ scope.view.isSelected haben, es immer noch ein binärer Zustand ist. –
ich versuche zu vermeiden, '$ scope' überall zu verwenden, wie ich gelesen habe, das führt zu" Umfang Suppe ". [Hier ist ein Versuch] (http://plnkr.co/edit/gs0s1FeIu3B2DsEMBkzp?p=preview) bei dem Versuch, den Wert – Richard