javascript - ng-switch inside ng-repeat not working -


i have data boils down this:

function examplectrl($scope) {     $scope.mydata= [         {text: "blah", other: 3, v: 'caseone'},         {text: "blah", other: 3, v: 'casetwo'},         {text: "blah", other: 3, v: 'casethree'}     ]; } 

this being used this:

<div ng-controller="exmaplectrl">     <table>         <tr>             <td>text</td>            <td>other</td>            <td>v</td>        </tr>        <tr ng-repeat="data in mydata">            <td><a href="#">{{data.text}}</a></td>            <td>{{data.other}}</td>            <td ng-switch on="data.v">                <td ng-switch-when="caseone"><img src="assets/img/pass.png"/></td>                <td ng-switch-when="casetwo"><img src="assets/img/pass.png"/></td>                <td ng-switch-when="casethree"><img src="assets/img/fail.png"/></td>            </td>     </table> </div> 

the problem is getting error:

error: no controller: ngswitch.. 

i have set controller examplectrl, don't see typing errors, @ loss unfortunately.

i believe issue has ng-switch producing invalid markup. i'm not sure can nest td inside td. anyways, if change work:

 <td ng-switch on="data.v">            <img src="assets/img/pass.png"  ng-switch-when="caseone"/>            <img src="assets/img/pass.png" ng-switch-when="casetwo"/>            <img ng-switch-when="casethree" src="assets/img/fail.png"/>        </td> 

here working demo: http://plnkr.co/edit/zudkjyfnljul6hsycgfz

i'll go ahead , suggest couple more solutions don't use switch might little nicer. check out last 2 td's

 <tr ng-repeat="data in mydata">            <td><a href="#">{{data.text}}</a></td>            <td>{{data.other}}</td>              <td>                <img src='assets/img/{{data.v}}.png' />  <!-- assuming have image name caseone.png/casetwo.png/etc -->            </td>            <td>              <img src='{{passfail[data.v]}}' />   <!-- transform case stuff pass/fail based on business rules, object function-->            </td>       </tr>  $scope.passfail = {   'caseone' : 'assets/img/pass.png',   'casetwo' : 'assets/img/pass.png',   'casethree' : 'assets/img/fail.png' }; 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -