强制禁用指令缓存或重新加载angularjs指令
如何强制重新呈现我的指令 模板强制禁用指令缓存或重新加载angularjs指令,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,如何强制重新呈现我的指令 模板 <div ng-if="showDirective"> <my-directive attr="value"></my-directive> </div> <button ng-click="toggleDirective()">Toggle</button> 指令中有一个ajax请求,它获取数据并通过ng repeat循环 指令首次在页面加载时加载。当我第一次单击切换按钮时,它隐藏了该
<div ng-if="showDirective">
<my-directive attr="value"></my-directive>
</div>
<button ng-click="toggleDirective()">Toggle</button>
指令中有一个ajax请求,它获取数据并通过ng repeat循环
指令首次在页面加载时加载。当我第一次单击切换按钮时,它隐藏了该指令;当我再次单击切换按钮时,从缓存加载或渲染上一个dom。当指令显示时,如何强制重新呈现该指令 重新编译标记是重新呈现标记的唯一机会
然而,你为什么要这样做?也许只要在ng repeat中更新您的列表就足够了?AngularJS将看到更改并重新呈现列表本身,无需手动渲染 我的用例有点复杂,指令是一个子指令,它将在父指令中,它是递归的!!当直接父指令更改时,我需要更新子指令。。然后棘手的部分是两者都有独立的作用域。然后重新编译它。这是昂贵的,可能不是最好的解决方案,但可能对你有用。不过我不推荐。。我相信你能想出一些解决办法让它发挥作用。。在这种情况下,重新编译是一个肮脏的把戏。
$scope.showDirective = true
$scope.toggleDirective = function() {
$scope.showDirective = !$scope.showDirective;
}