ng-repeat强制重新渲染

时间:2013-12-14 17:42:46

标签: angularjs dom ng-repeat

我知道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更改时重新运行

1 个答案:

答案 0 :(得分:3)

在这种情况下,您实际上并不希望ng-repeat重新渲染,因为它将产生完全相同的输出:三个my-directive div。但是,您希望所有my-directive都要重新渲染,因为他们依赖的东西已经改变了。

您在指令中可以执行的操作是在您的范围内设置$watch。例如,在my-directive的{​​{1}}函数中,

link

现在,当$ scope.image发生更改时,您的指令将自行更新。