ng-if如果没有更新范围破坏

时间:2017-10-26 21:49:21

标签: javascript angularjs angular-ng-if

我有一个隔离范围指令。在这个指令的链接函数中,我正在编译一个html模板并将其附加到文档正文中。

const template = `<div ng-if="vm.open"></div>`;
body.append(template);

我有一个按钮,可以在ng-click上切换vm.open标志。这可以很好地显示/隐藏我的div。但是,当我按下后退按钮时,我的范围破坏事件处理程序被调用并将vm.open设置为false。但在我的DOM中,vm.open仍然是真的。

这是因为ng-if是一个新的范围,因为我的指令是父母&#39;它没有破坏ng-if的范围?我找到了另一个stackOverflow线程,其中使用ng-show修复了这个问题。但我想理解为什么它不适用于ng-if。

1 个答案:

答案 0 :(得分:0)

尝试    * ngIf = {{vm.open}}