AngularJS 1.2 ngInclude inside ngIf



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

例如,以以下内容为例:

<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。内联示例的行为与预期一致,内容在单击时显示或消失。

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

这是怎么回事?我确实看到了一些关于ngInclude的突破性变化,有其他方法吗?或者这是Angular中的一个bug?

编辑:

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

他们已经在这个快照中修复了它:

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

最新更新