Angularjs Angular JS |如何强制调用ng init

Angularjs Angular JS |如何强制调用ng init,angularjs,Angularjs,我有一个用ng repeat迭代的列表 对于每个元素,我使用ng init=“foo(item)”计算要显示的值 这很有效 我想实现一个刷新按钮,但问题是不再调用nginit 如何再次强制调用ng init 我尝试调用$scope.apply(),但没有任何帮助。我认为它不必对“$scope.apply()”做任何事情在DOM呈现期间,ng init'将只触发一次。您没有使用ng init,而是尝试了角度插值绑定吗? 例如-{{foo(item)}}如果重新渲染不是问题,则可以清除ng repe

我有一个用
ng repeat
迭代的列表

对于每个
  • 元素,我使用
    ng init=“foo(item)”
    计算要显示的值

    这很有效

    我想实现一个刷新按钮,但问题是不再调用
    nginit

    如何再次强制调用
    ng init


    我尝试调用
    $scope.apply()
    ,但没有任何帮助。

    我认为它不必对“$scope.apply()”做任何事情在DOM呈现期间,ng init'将只触发一次。您没有使用ng init,而是尝试了角度插值绑定吗?
    例如-
  • {{foo(item)}}
  • 如果重新渲染不是问题,则可以清除ng repeat数组,然后将其添加回。这将重新渲染ng repeat,从而使ng init在每个项目上再次激发


    缺点是它会“闪烁”,这取决于你如何设置css/动画。如果希望刷新是无缝的,而不会对渲染进行可见更改,则可能需要使用ng init以外的其他工具。

    您应该提供一些与此问题相关的代码片段。您应该在渲染之前在controller中执行这些计算。像这样使用nginit不是最佳实践。