已更新:在plunkr中制作了一个较小的poc,以显示问题,而不是整个应用程序。
问题:data-ng-switch
适用于内联内容,但在通过data-ng-include
使用外部模板切换时不会删除上一个元素。
工作原理的
<div data-ng-switch="view">
<div data-ng-switch-when="template1">content 1</div>
<div data-ng-switch-when="template2">content 2</div>
</div>
不起作用
<div data-ng-switch="view">
<div data-ng-switch-when="template1" data-ng-include="'template1.html'"></div>
<div data-ng-switch-when="template2" data-ng-include="'template2.html'"></div>
</div>
答案 0 :(得分:4)
我目前找到的最佳解决方案可以在plunkr
中看到你基本上不能在与ng-include
相同的dom等级上使用ng-switch
了。其他逻辑指令也是如此,例如ng-show
ng-hide
...
在ng-include
元素的子节点上添加ng-switch-when
有效:
<div data-ng-switch="view">
<div data-ng-switch-when="template1">
<div data-ng-include="'template1.html'"></div>
</div>
<div data-ng-switch-when="template2">
<div data-ng-include="'template2.html'"></div>
</div>
</div>
<强>更新强>
应该在.rc3中修复!
这被确认为角度rc2版本(confirmation in this google group discussion)中的错误
可以找到实际的bugticket here。