8

私のHTMLコードは

<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>

どちらがデータをバインドしていません... (TD とテキストは存在しますが、バインディング プロパティの値は空です)

一度に ng-switch-when と ng-repeat を操作するには?

前もって感謝します

4

2 に答える 2

28

ng-switch では、親が

ng-switch on="variableName"

そして持つべき子供たち

ng-switch-when="stuff1" 

ng-repeat を使用した例

<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>

ng-repeat のコレクションは次のようになります。

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

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

于 2014-05-06T13:15:15.123 に答える
2

これは仕様によるものです。https://stackoverflow.com/a/15434085/1264360を参照してください。基本的に修正するには、ng-repeat の上の要素に ng-switch-when が必要です。

于 2014-05-06T13:40:46.863 に答える