2014-02-12 45 views
0

我有點困惑。最佳做法?信息顯示應該是服務還是指示?

我知道,我知道......任何與DOM交互的東西都應該被創建爲指令。但不知何故,我覺得更方便只是調用我的通知服務,以顯示錯誤或成功的消息,內部創建新的div元素並附加到頁面並顯示消息,並在元素完成時類似地刪除元素。更重要的是,我不需要在頁面中添加相同的html指令。 這是一切正常,但變得少測試(或者我認爲是這樣),並給我犯違反指令和服務規則的內疚感。

對此有任何好的建議。

+0

絕對是一個指令。你不必創建你自己的指令,通常有一些東西會適合(也許在你的情況下是ng-show),並且邏輯可以進入控制器(顯示或不顯示消息) –

+2

我使用我的自定義消息框的組合。我創建了一個指令並將其放在我的頁面的根目錄中,因此我不必將其包含在每個想要顯示消息的視圖中。然後我用show()和error()等方法創建了一個與消息指令交互的服務。這些方法需要一個定義標題,消息,按鈕標籤和動作的配置對象。 –

+0

@CraigSquire你應該提供一個答案,我做了與你描述的完全相同的東西。我認爲它提供了指示在DOM中有通知和響應與通知之間需要關注的分離。 –

回答

3

我將兩者的組合用於我的自定義消息框。我創建了一條消息指令並將其放在我的頁面的根目錄下,因此我不必將其包含在每個想要顯示消息的視圖中。然後我用show()和error()等方法創建了一個與消息指令交互的服務。這些方法需要一個定義標題,消息,按鈕標籤和動作的配置對象。

+0

我想到做同樣的方法,但它帶來兩個依賴關係......一個指令和一個關於服務......我同意但看起來更復雜,那麼它應該是......不同意....? – Avi

+0

我假設你問的是要顯示消息的指令。不,沒有兩個依賴關係,唯一的依賴關係是服務組件。消息指令將注入服務並使用服務的屬性來確定它需要執行的操作。 –

相關問題