2016-04-25 12 views
0

Anstatt zwei separate ng-if zu haben, möchte ich sie kombinieren und ng-switch verwenden. Die img() Funktionen wechseln jedoch nicht wie erwartet. Was soll ich anders machen?ng-Switch funktioniert nicht wie erwartet

Schalten Sie dies:

<img ng-src="{{img(myColor)}}" ng-if="myColor"> 

<img ng-src="{{img(myColor2)}}" ng-if="myColor2"> 

In diese:

<div ng-switch on = "myColor2"> 
    <div ng-switch-when = "myColor2"> 
     <img ng-src="{{img(myColor2)}}"> 
    </div> 
    <div ng-switch-default = "myColor"> 
     <img ng-src="{{img(myColor)}}"> 
    </div> 
</div> 
+1

Nur für den Fall, es ist 'ng-switch-default', nicht' ng-Schalter – iggymoran

+0

@iggymoran Dank für den Fang default'. Das hat es aber nicht behoben –

Antwort

0

Hier ist ein Beispiel für ng-Schalter

http://jsfiddle.net/fbg3bLac/5/

Sie könnte falsch sein zu verstehen.

ng-switch on = "myColor2" -- means you want to evaluate the value of the scope variable myColor2. 

ng-switch-when = "myColor2" -- states that if the VALUE of myColor2 is equal to 'myColor2' then do this. 

ng-switch-default -- should have no = value. 

verweisen auf http://www.c-sharpcorner.com/UploadFile/75a48f/switch-condition-in-angularjs/

+0

danke, gibt es keine Möglichkeit zu erreichen, was ich versuche zu tun? Ich sehe, was Sie sagen, aber ich habe zwei verschiedene ng-Modelle –

+0

Beispiel möchten Sie die Scope-Variable Farbe wechseln und dann wäre Ihr Schalter ng-switch-when = "{{myColor1}}" - noch nicht ausprobiert aber es sollte angular wissen lassen, dass myColor1 eine Variable ist, die ausgewertet werden soll und nicht ein Wert selbst. –