2015-09-05 139 views
3

在AngularJS文檔:https://docs.angularjs.org/guide/controller它說:AngularJS控制器應該處理業務邏輯還是表示邏輯?

  • 控制器應該只包含業務邏輯。將任何表示邏輯放入控制器中會嚴重影響其可測試性。 Angular對大多數情況和指令進行了數據綁定,以封裝手動DOM操作。

現在,這本書我讀(AngularJS並運行O'Reily),這是學習AngularJS強烈推薦本書,它說(第17頁):

  • 一些在一個AngularJS應用的控制器的更常見的職責包括:

    • 表示邏輯,諸如如何顯示元件中,UI的部分,以顯示它,如何風格他們等

這不是什麼文檔不使用控制器呢?什麼是推薦? (建議控制器處理業務還是演示邏輯?)。

回答

1

兩者都可以使用角JS,表示層和業務邏輯層進行處理。假設您必須將任何操作指向UI,以針對將檢查的運行時間更改 - 業務邏輯層。

假設我必須現在使用angular模塊上傳圖像/文件我會拍攝圖像/文件,然後它會被髮送上傳到服務器 - 比方說,節點js服務器 - 現在角可以接收及時的更新上傳進度並且會在表示層上顯示。

如果您需要更多說明,請讓我知道。

+0

正確的,但我們建議是什麼? AngularJS Up and Running書中說,AngularJS應用程序中控制器的職責是處理表示邏輯。這些文件準確地說是不這樣做,並說控制器應該只包含業務邏輯。 – user2719875

+0

正是文檔所說的,只是用它來觸發表示層。它只是用來觸發表示層不完全處理它。最終的魔法將顯示在主頁上。 –

+0

@ user18703嘿,如果答案是可以接受的請你接受它的人如果不是讓我來幫你。 –