如何避免在angualrjs DOM处理中使用setTimeout

时间:2016-07-15 06:25:49

标签: angularjs dom

我有一个数据集。我正在根据该数据集填充项目。

在这里,数据填充正常。在那之后,我正在尝试做dom操作。

如果不使用setTimeout,我无法进行DOM操作。

如果没有setTimeout,我怎么能这样做?

var allElLi = angular.element('.listview-li');
            var selEl = angular.element('.listview-li')[0];
            $(allElLi).removeClass('item-active');
            $(selEl).addClass('item-active');

http://jsfiddle.net/MohaideenIsmail/Lvc0u55v/6892/

 http://jsfiddle.net/MohaideenIsmail/Lvc0u55v/6892/

1 个答案:

答案 0 :(得分:0)

dfsq在答案中是正确的,但可能会更有帮助。你不应该在控制器中进行dom操作,使用指令。阅读这篇文章,您应该没问题:http://ng-learn.org/2014/01/Dom-Manipulations/

这里的关键是指令具有“链接”功能,在编译html之后会触发该功能。指令起初可能很难,但你应该花时间去了解它们!