我有一个用ng-repeat
迭代的列表。
对于每个<li>
元素,我使用ng-init="foo(item)"
来计算要显示的值。
这工作得很好。
我想实现一个刷新按钮,但问题是不会再次调用ng-init
。
如何再次强制执行ng-init
调用?
我试着给$scope.apply()
打电话,但没有帮助。
发布于 2019-11-20 00:41:32
如果重新呈现不是问题,您可以清除ng-repeat数组,然后再将其添加回来。这将重新呈现ng-repeat,导致ng-init再次触发每一项。
这样做的缺点是它会“闪烁”,这取决于你如何设置你的css/动画。如果您希望刷新是无缝的,而不对呈现进行可见的更改,那么您可能需要使用ng-init以外的其他方法。
发布于 2019-11-19 19:12:43
我认为它不需要用'$scope.apply()‘做任何事情。在DOM渲染期间,“‘ng init”将只触发一次。没有使用ng-init,而是尝试了角度插值绑定吗?例如- <li><span>{{foo(item)}}</span></li>
https://stackoverflow.com/questions/58929784
复制相似问题