3

将 ngInclude 放入 ngIf 或 ngSwitch 时,我遇到了一些奇怪的行为。

例如,采取以下措施:

<button ng-click="showIncTemplate = !showIncTemplate">Toggle Included Template</button>
<button ng-click="showInlineTemplate = !showInlineTemplate">Toggle Inline Template</button>

<div ng-if="showIncTemplate">
    <p>Included template:</p>
    <div ng-include="'template.html'"></div>
</div>

<div ng-if="showInlineTemplate">
    <h1>Inline Template</h1>
</div>

http://plnkr.co/edit/gULbwnKb0gQS8DWz0V6U

按钮切换选项以呈现随后的 div。内联示例的行为符合预期,内容在点击时出现或消失。

带有子包含的 div 在第一次绘制时似乎不包含模板,但随后在每次重绘时重复包含它。

这里发生了什么?我确实看到了围绕 ngInclude 的一些重大变化,还有其他方法我应该这样做吗?或者这是 Angular 中的一个错误?

编辑:

看起来这已经在 angularjs github 问题跟踪器中: https ://github.com/angular/angular.js/issues/3627

4

1 回答 1

5

他们已在此快照中修复它:

http://code.angularjs.org/snapshot/

于 2013-09-03T03:28:03.127 回答