刷新ng-repeat甚至没有任何变化

时间:2016-12-20 09:52:59

标签: javascript angularjs ng-repeat dom-manipulation

我在ng-repeat内进行了一些dom操作。现在我想重置我的DOM以匹配ng-repeat循环的模型。如何强制AngularJS重绘ng-repeat内容。

应用不起作用显然不会导致模型的更改。

3 个答案:

答案 0 :(得分:2)

ng-repeat的整个想法是它遵循模型。如果您想要更改内容,您应该真正更改模型。对于dom操作,你应该在角度组件或指令中执行这些操作,并再次使其遵循模型。

如果你不这样做,你几乎不可能完全不使用Angular。

答案 1 :(得分:0)

如果你粘贴一些代码,那就太好了,但无论如何,比方说我们有这个:

$scope.rows = [1,2,3];

<div ng-repeat="row in rows">
   {{row}}
</div>

为了使用ng-repeat重绘相同的数据,您需要以某种方式更改范围。您可以在DOM操作之后尝试此操作

$scope.rows = angular.copy($scope.rows);

答案 2 :(得分:0)

实际上,您不需要做任何特殊的事情来重新绑定角度js中的DOM。 Angular JS支持two way data binding,因此当模型更改时,DOM对象会自动重新绑定修改后的内容。所以你要做的就是重新绑定你的控制器变量,这将自动更新DOM。