這是一個angularjs應用程序。我有一個處理內容加載(ajax)的服務。當服務獲取內容時,整個應用程序會隱藏許多內容,然後再次顯示(取決於返回的內容)。他們可能有相同的範圍,不同的範圍,無論如何。他們只需在內容加載時隱藏,然後顯示完成時間。非常普通的東西。AngularJS:在指令中使用服務
現在,我有單獨的控制器看着服務的「加載」屬性,並使用常規的角度指令(ng-show,ng-hide等)來顯示/隱藏。但這感覺像是過度殺傷。我寧願編寫一個自定義的「加載」指令來注入加載服務,並進行觀看和顯示/隱藏。
我的問題是:我想做什麼「壞」?在控制器的方式下,我最終爲一堆代碼做了一些代碼,可能會達到5或6次,或者隨着應用程序的增長甚至更高。自定義指令的方式,我寫一次,並使用我需要它的屬性。是的 - 這種服務有依賴性,但是這並不像是有些人讓我開始認爲我應該這樣認爲的世界末日。
對於什麼是值得的,我覺得我聽到過很多次「關注點分離」,我已經多次被它癱瘓。它導致我過分地藐視所有事情,因爲我想以正確的方式做事,但肯定不覺得我的工作效率很高。
這是切線,但關注點和其他「最佳實踐」的分離旨在幫助您的應用程序更易於更改,推理和測試。所有人都有理由,但不要因爲某人告訴你,或者因爲害怕做錯事而陷入癱瘓狀態而陷入陷阱。同時,不要因爲當時沒有意義而放棄某些東西 - 願意瞭解爲什麼這是一種推薦的做法。有一個平衡點,並記住,最終目標是讓事情變得很酷,並樂在其中! –
@BrandonTilley - 有蹭。我還不夠熟悉它,知道什麼時候有人告訴我是好的,壞的還是介於兩者之間的。但我很欣賞切線建議和最後一句話! – BjornJohnson