【问题标题】:AngularJS - Basic ng-repeat with ng-switchAngularJS - 使用 ng-switch 的基本 ng-repeat
【发布时间】:2014-10-10 09:20:09
【问题描述】:

我有一个简单的 ng-repeat,它显示状态列表。我想将此 ng-repeat 扩展到 ng-switch 以根据状态显示一个值。

当前 ng-repeat:

<td ng-repeat="myStatus in history.Status.slice(0, 12)">
    {{ myStatus }}
</td>

使用 ng-switch:

<td ng-repeat="myStatus in history.Status.slice(0, 12)" ng-switch="myStatus">
    <span ng-switch-when="1">test1</span>
    <span ng-switch-when="2">test2</span>
    <span ng-switch-when="3">test3</span>
    <span ng-switch-when="4">test4</span>
    <span ng-switch-when="5">test5</span>
    <span ng-switch-when="6">test6</span>
    <span ng-switch-when="7">test7</span>
    <span ng-switch-default>Error</span>
</td>

但是,在 ng-switch 之上,没有任何显示。

【问题讨论】:

    标签: angularjs angularjs-scope angularjs-ng-repeat ng-repeat ng-switch


    【解决方案1】:

    在我这边工作,这里是 Plunker

    但是作为一个建议,我更喜欢使用函数表达式而不是 ng-switch。

    <td ng-repeat="myStatus in history.Status.slice(0, 12)">
        <span>{{getStatus(myStatus)}}</span>
    </td>
    

    getStatus 是一个返回所需信息的函数。

    【讨论】:

    • 我认为问题在于我在 JSON 中的数据布局。状态:[“0”、“1”、“5”、“0”、“1”、“1”、“0” ","0","2","1","3","2","4"]
    【解决方案2】:

    使用这个

    <td ng-repeat="myStatus in history.Status.slice(0, 12)" >
      <span ng-switch="myStatus">
        <span ng-switch-when="1">test1</span>
        <span ng-switch-when="2">test2</span>
        <span ng-switch-when="3">test3</span>
        <span ng-switch-when="4">test4</span>
        <span ng-switch-when="5">test5</span>
        <span ng-switch-when="6">test6</span>
        <span ng-switch-when="7">test7</span>
        <span ng-switch-default>Error</span>
      </span>
    </td>
    

    【讨论】:

    • @HarutyunAbgaryyan - 我认为问题在于我在 JSON 中的数据布局。状态:[“0”、“1”、“5”、“0”、“1”、“1” , "0","0","2","1","3","2","4"] ..... 切片数组可以这样吗?
    猜你喜欢
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2014-06-23
    • 2017-12-22
    相关资源
    最近更新 更多