2016-07-15 52 views
0

我有一個數據集。我正在根據該數據集填充項目。如何避免在angualrjs DOM handiling中使用setTimeout

在這裏,數據填充正常。之後,我正在嘗試做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

你在做什麼是肯定的方式來真正糟糕的jQuery風格的應用程序。如果你關心質量和可維護性 - 學習如何做到這一點角度的方式。首先,從項目中刪除jQuery,直到你明白爲什麼你不需要它。 – dfsq

回答

0

dfsq是正確的,他的答案,但本來可以多一點幫助。你不應該在你的控制器中進行dom操作,使用指令。閱讀這篇文章,你應該沒問題:http://ng-learn.org/2014/01/Dom-Manipulations/

這裏的關鍵是,指令有'鏈接'功能,這是在html編譯後被激發的。指令起初可能很難,但你應該花點時間去了解它們!