2016-03-10 91 views
1

我是Angular的新手,我理解它的一個「規則」是控制器中不應該存在DOM操作。我聽說很多開始使用Angular的人並沒有完全理解這一點,並最終將JS代碼直接寫入他們的應用程序中,我的理解是如果你正在編寫一個Angular應用程序,你應該完全忘記普通的JavaScript。在AngularJS中包裝第三方插件的地方?

我發現爲了在Angular應用程序中使用第三方插件或常規JS腳本,將它包裝在一個對象中。我已經讀過,通常這是通過在指令或服務中包裝腳本來完成的。

所以,我有幾個問題:

  1. 什麼是思考一個指令或作爲包裝服務之間進行選擇時的主要問題?

  2. 在使用指令或服務作爲包裝器之間是否存在主要的性能和/或維護問題?

我懷疑,如果你正在做的,你會在那種情況下使用服務的任何HTTP請求,那就是我知道當你可以使用一個服務作爲包裝對象

回答

2

你的唯一的事情應該使用指令。在他們的定義中,他們有一個接收函數的鏈接屬性。該指令模板在DOM中呈現後執行。所以在這個函數裏面你可以訪問指令模板中的任何元素。

記住:如果你打算做一些DOM操作,你應該只在指令的連接器函數中執行它來呈現你正在操作的DOM。

您可以在https://docs.angularjs.org/guide/directive

中瞭解更多關於創建自定義指令的信息
相關問題