2014-04-29 52 views
0

我是AngularJs的新手。我有一個div部分和一些與div元素相關的jquery代碼。我打算製作一部分代碼並創建一個自定義指令。這是不錯的設計。角也給了這種靈活性,以在角度指令中包含純jQuery代碼?創建自定義的angularJs指令來製作模塊代碼

回答

1

在viewcontrollers中有jQuery代碼是很臭的。

使用指令將jquery代碼應用到元素是最好的方法。 該邏輯應與控制器隔離,以將該指令應用於許多元素。

如果您需要從指令到視圖控制器進行通信,則會再次發出臭味。 (回調被允許)

而jQuery是一個全局變量,所以你可以在那個指令中使用jquery。

link und controller函數確實通過了$element參數,該參數是對此指令應用於的html元素的引用。這個$element變量已經用jquery包裝了。所以你可以做$element.attr("...")什麼的。

0

在控制器中有Jquery代碼會產生以下問題:
1)內存泄漏。
2)Dom操作不應該存在於控制器,服務或其他任何地方,但在指令中。
3)DOM操作不在Angular範圍內 - 所以如果有任何對後端的調用,您需要添加額外的步驟將該信息附加到書目列表數組中。
因此,寫一個指令來編寫Jquery代碼是一個很好的做法。
參照Best Practice - Dom Manipulations