AngularJS:1.2.0rc2 ng-switch不会删除以前的内容

时间:2013-09-09 12:57:09

标签: angularjs angularjs-scope

已更新:在plunkr中制作了一个较小的poc,以显示问题,而不是整个应用程序。

see it here

问题: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>

1 个答案:

答案 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