Ich versuche, verwalten mehrere Bedingungen zu verbessern, unter Verwendung von ng-Show und ng-hide Direktiven, hier ist mein Codewie können wir mehrere Bedingungen in einem einfachen Zustand mit ng-Show und ng-hide
HTML-Code
<my-directive controls="a,b,c"></my-directive>
js Code
.directive('myDirective',function(){
return{
restrict:'E',
templateUrl:"parentHtml.html",
link:function(scope,elem,attr){
var options = attr.controls;
if(options=="a,b,c"){
scope.showMeAll=true;
}else if(options=="a"){
scope.showmeA=true;
}else if(options=="b"){
scope.showmeB=true;
}else if(options=="c"){
scope.showmeC=true;
}
}
}
}).directive('subDirective',function(){
return{
restrict:'E',
template:"<h2>aapple</h2>",
link:function(scope,elem,attr){
}
}
}).directive('subDirective1',function(){
return{
restrict:'E',
template:"<h2>BBatt</h2>",
link:function(scope,elem,attr){
}
}
}).directive('subDirective2',function(){
return{
restrict:'E',
template:"<h2>CCat</h2>",
link:function(scope,elem,attr){
}
}
});
ihr e ist mein parentHtml.html Code
<div class="row">
<div ng-show="showMeAll">
<sub-directive></sub-directive>
</div>
<div ng-show="showMeB">
<sub-directive1></sub-directive1>
</div>
<div ng-show="showMeC">
<sub-directive2></sub-directive2>
</div>
</div>
Mein Problem ist, wenn ich alle drei geben „a, b, c“ der Richtlinie Attribut dann in „parentHtml“ alle drei divs zeigen müssen, wenn ich gib nur zwei ie "a, b" dann in parentHtml nur zwei divs haben zu zeigen zB "apple" und "bat" und auch wenn gib nur eine string also "c" dann in parentHtml nur "cat" div zu zeigen, in eine einfache Art und Weise, wenn das Alphabet, das ich dem Direktivenattribut thet div gebe, zu zeigen hat. Hier ist meine http://plnkr.co/edit/6gAyAi63Ni4Z7l0DP5qm?p=preview. Bitte lösen Sie meine Frage auf einfache Weise.
Dank im Voraus
Statt überprüft, ob der Wert des 'controls' Attribut auf einen Brief gleich zB:' Optionen = = "a" 'sollten Sie prüfen, ob es den Buchstaben' options.indexOf ("a")! == -1' enthält. – Titus
Dies ist eine funktionierende Version http://plnkr.co/edit/ERdku20aXECxbP30OlP3?p=preview neben dem 'if (...) else if (...) ...' Fehler hatten Sie auch einige Rechtschreibfehler, Du benutzt 'showme ...' anstelle von 'showMe ...'. – Titus