2014-05-06 6 views
6

Il mio codice HTML èng-switch, quando con ng-repeat

<tr ng-switch-when="true" ng-repeat="onlineCredentials in onlineCredentialDetails" > 
     <td> 
      <span>Ordering Mode: </span>{{onlineCredentials.mode}}<br /> 
      <span>Intermedtiary Group: </span>{{onlineCredentials.name}} 
     </td> 
     <td> 
      <span>Website: </span>{{onlineCredentials.webSite}} 
     </td> 
     <td > 
      <span>Username/Password</span> 
      <div ng-repeat="cred in onlineCredentials.loginDetails"> 
       -&nbsp;{{cred.userName}}&nbsp;/&nbsp;{{cred.password}} 
      </div><br /> 
     </td> 
    </tr> 

Che non è un dato di legame ... (TD s ed il testo è presente, ma i valori delle proprietà di legame sono vuoti)

Come lavorare con ng-switch-when e ng-repeat alla volta?

Grazie in anticipo

risposta

1

Questo legato alla progettazione. Si prega di vedere https://stackoverflow.com/a/15434085/1264360. Fondamentalmente per risolvere il problema è necessario avere il ng-switch-quando si trova in un elemento sopra la ng-repeat.

22

ng-switch richiede un genitore di avere una

ng-switch on="variableName" 

e bambini ad avere

ng-switch-when="stuff1" 

Esempio con ng-ripetere

<div ng-repeat="value in values" ng-switch on="value.color"> 
    <div ng-switch-when='blue'>Blue</div> 
    <div ng-switch-when='green'>Green</div> 
    <div ng-switch-when='orange'>Orange</div> 
</div> 

e il tuo co di raccolta per ng-repeat potrebbe sembrare:

$scope.values = { 
    one: {color: 'blue', worth: 2}, 
    two: {color: 'green', worth: 3}, 
    three: {color: 'orange', worth: 4},   
} 

http://plnkr.co/edit/YavzpaPUBaBQNA0pHMPN?p=preview

Problemi correlati