Angular JS ng-switch无法正常工作

时间:2016-10-11 12:57:28

标签: javascript angularjs laravel-5.3 ng-switch angularjs-ng-switch

我正在使用Laravel和Angular JS开发一个应用程序。 我使用[[]]进行数据绑定。

使用ng-switch绑定表中的数据时出现错误而无法正常工作。

 <tr ng-repeat="category in categories">
            <td>[[category.Name]]</td>
            <td>[[category.ListOrder]]</td>
            <td ng-switch="category.Status">
              <img ng-switch-when="1" src="{{URL::asset('public/assets/images/icons/ic_active.png')}}"></td>
              <img ng-switch-when="0" src="{{URL::asset('public/assets/images/icons/ic_inactive.png')}}"></td>
            <td>
              <img src="{{URL::asset('public/assets/images/icons/ic_inactive.png')}}">
            </td>
            <td>[[category.updated_at]]</td>
</tr>

当我使用Firebug检查时,响应Status变量获取字符串值1和0。

我该如何解决这个问题....

我正在使用Angular JS v1.5.8

控制台错误..

 Error: [$compile:ctreq] http://errors.angularjs.org/1.5.8/$compile/ctreq?p0=ngSwitch&p1=ngSwitchWhenN/<@http://localhost/repos/p3-laravel/ppp_admin/public/js/angular.min.js:6:412

1 个答案:

答案 0 :(得分:3)

<td ng-switch="category.Status">
    <img ng-switch-when="1" ...></td>
    <img ng-switch-when="0" ...></td>

您在第一个</td>之后过早关闭了img,第二个img超出了<td>,因此也超出了{ng-switch的范围1}}。该错误是由ng-switch-when="0"无法找到父ng-switch引起的。