Angular JS ng-switch with ng-include?

Angular JS ng-switch with ng-include?

本文关键字:ng-include with ng-switch JS Angular      更新时间:2023-09-26

我有 3 个不同的代码片段,我想根据选择菜单中的选择进行交换。

如果我内联包含代码,它可以工作,但是当我尝试像这样使用 ng-include 时,我收到 Angular 错误并且应用程序失败:

      <div ng-switch on="pFilter">
      <div ng-include="'includes/parcel_details_incoming.html'" ng-switch-when="Incoming Parcels"></div>
      <div ng-include="'includes/parcel_details_forward.html'" ng-switch-when="Exception Parcels"></div>
      <div ng-include="'includes/parcel_details_exception.html'" ng-switch-default></div>
      </div>

我在这里做错了什么? ng-switch不适用于ng-include吗?

原因是指令ng-includeng-switch-x都使用嵌入,并且您在同一元素上指定了两者,这是不允许的。将 nginclude 移动到 ng-switch 元素的子元素。

   <div ng-switch on="pFilter">
      <div  ng-switch-when="Incoming Parcels"><div ng-include="'includes/parcel_details_incoming.html'"></div></div>
      <div  ng-switch-when="Exception Parcels"><div ng-include="'includes/parcel_details_forward.html'"></div></div>
      <div  ng-switch-default><div ng-include="'includes/parcel_details_exception.html'"></div></div>
   </div>

这曾经一直有效到角度 1.x 版本,但复合嵌入将导致启动 1.2.x 版本的角度时出现多目录错误。看看更改日志和这个提交。