2014-12-25 51 views
0

我有一個普遍的問題。我最近看到很多人將所有指令邏輯放入指令控制器(並將其與控制器一起使用)而不是使用鏈接的例子。我確實看到一些好處:在控制器內部放置指令邏輯而不是鏈接

  1. 指令邏輯可以很容易地進行單元測試。
  2. 您無縫地有義務在視圖模型中使用「點符號」,從而防止出現意外行爲。

至於缺點 - 一旦邏輯是在控制器內部,它暴露於其他指令,好像鼓勵其他指令的開發人員能夠訪問這些變量/方法,即使它們並不意味着是從訪問外。 我有興趣得到你的這個?你如何在指令中組織你的代碼?

感謝

+0

這是一個有趣的問題。鏈接和directice控制器之間似乎有很多重疊。看起來像將來它只是一個帶註釋的類 - 它基本上與ControllerAs的構造函數相同。你能鏈接到這些例子中的一些嗎?他們是否來自風格指南? – Martin

+0

http://teropa.info/blog/2014/10/24/how-ive-improved-my-angular-apps-by-banning-ng-controller.html @Martin以上就是其中之一。我試着找到我讀過的其他人 –

回答

0

我採用了棱角分明的約4個月,所以我不能 說,我有太多的經驗。然而在我的 個人經驗我使用的控制器只用於邏輯 需要共享或執行之前,鏈接 功能。我想你可以通過使用模塊模式來隱藏你的控制器的一些邏輯,而只暴露真正必要的邏輯。在我的辯護中,我沒有寫出真正複雜的控制器,但這是我的方式。 (對不起,我寫的不好,我從我的手機迴應)

相關問題