我知道ngRepeat如何使用哈希键来不重新渲染元素, 我正在存储一个简单的字符串数组,我想强制重新渲染dom,有一种简单的方法吗?
强制ng-repeat重新渲染自己,即使我的字符串数组没有改变?
为什么:
$scope.image = "image/jpg..."
$scope.confs = ['glow','sepia','brighten']
<div ng-repeat="conf in confs">
<div my-directive="conf">
</div>
我想在图像更改时重新运行ng-repeat,而不是在conf更改时重新运行
答案 0 :(得分:3)
在这种情况下,您实际上并不希望ng-repeat
重新渲染,因为它将产生完全相同的输出:三个my-directive
div。但是,您希望所有my-directive
都要重新渲染,因为他们依赖的东西已经改变了。
您在指令中可以执行的操作是在您的范围内设置$watch
。例如,在my-directive
的{{1}}函数中,
link
现在,当$ scope.image发生更改时,您的指令将自行更新。