如何强制重新渲染我的指令
模板
<div ng-if="showDirective">
<my-directive attr="value"></my-directive>
</div>
<button ng-click="toggleDirective()">Toggle</button>
控制器
$scope.showDirective = true
$scope.toggleDirective = function() {
$scope.showDirective = !$scope.showDirective;
}
我在指令中有一个ajax请求,它获取数据并通过ng-repeat循环。
页面加载时第一次加载指令。当我第一次点击切换按钮时它隐藏指令,当我点击切换时再次从缓存加载或渲染上一个dom。如何在显示时强制重新呈现指令..
答案 0 :(得分:0)
重新编译标记是重新渲染它的唯一机会....
然而,你为什么要那样做?也许只需更新ng-repeat中的列表就足够了? AngularJS将看到更改并重新呈现列表本身,无需手动重新编译。