1

我是 angularjs 的新手,并且我的 angularjs 应用程序中有 json,我希望 ng-switch 在该 json 不为空(它是一个数组)时工作。这是一个很大的 json,我说的是其中的一部分,ng-switch 有可能吗?或者我应该在我的控制器中设置范围参数?或其他一些我不知道的方式

JSON

...,
"venues": [{"vid":"12",...},{"vid":"13",},{"vid":"14",..}],...

标记

<div ng-switch on="team.venues" >
    <ul ng-switch-when="venue is not empty">
        <li ng-repeat="venue in team.venues">
            {{venue.vid}}
        </li>
    </ul>
    <p ng-s­wit­ch-­def­ault>no venue</p>
</div>
4

2 回答 2

2

是的,像这样使用

<div ng-switch on="team.venues.length > 0" >
            <ul ng-switch-when="true">
                <li ng-repeat="venue in team.venues">
                 {{venue.vid}}
                </li>
            </ul>
            <p ng-s­wit­ch-­def­ault>no venue</p>
</div>

这将显示<ul ng-switch-when="true">时间。team.venues.length > 0true

这就是DOC所说的,

<ANY ng-switch="expression">
    <ANY ng-switch-when="matchValue1">...</ANY>
    <ANY ng-switch-when="matchValue2">...</ANY>
    <ANY ng-switch-default>...</ANY>
</ANY>

这是官方的DEMO

于 2015-07-26T08:44:01.020 回答
1

您可以直接在此处使用直接表达式,例如ng-switch-when="team.venues.length > 0 && team.venues".

标记

<div ng-switch on="team.venues">
     <ul ng-switch-when="team.venues.length > 0 && team.venues">
       <li ng-repeat="venue in team.venues">
          {{venue.vid}}
       </li>
     </ul>
     <p ng-s­wit­ch-­def­ault>no venue</p>
</div>
于 2015-07-26T08:45:18.567 回答