2016-04-25 35 views
-1

如何正確模塊化Angularjs應用程序?我有一個帶有獨立部分的HTML頁面,我想要單獨的控制器。目前我有一個單一的控制器,它服務於整個頁面。 HTML頁面的不同部分共享相同的範圍數據。有人可以提供一個簡短而整潔的例子,提供多個控制器爲同一頁面的部分服務器提供服務,並共享通用範圍數據我對Angular很陌生。如何正確模塊化AngularJS應用程序?

非常感謝。

+0

我個人的偏好是使用服務和指令。 –

+0

一個簡單的例子將不勝感激 – Nikolai

回答

3

這個問題太廣,然而在這裏充分回答是一些提示:

  1. 使用指令/組件時,需要操作DOM
  2. 控制器應具有更少的代碼可能。將邏輯/服務器調用放入服務層。
  3. 如果您需要具有多個控制器共享數據的複雜導航系統,則可能需要檢查ui路由器(https://github.com/angular-ui/ui-router)。這是一個狀態機,您可以在其中嵌套狀態及其相關視圖。子狀態的控制器從允許共享數據的父狀態繼承。
  4. 如果不是ui-router 2在控制器中共享數據的方式:事件($ on,$ emit),存儲服務中共享的數據並使用$ watch監視更改。
+0

感謝您的答案。但我真的很感激一個非常簡短的例子,它帶有幾個指令/服務,一個控制器。需要想象這些事情是如何結合在一起的。不需要任何複雜的... – Nikolai

+1

太依賴於你的選擇,如果我去一個UI路由器樣本,你不會去爲它,大部分我將展示他們如何掛在一起將下降。關於它們如何掛在一起非常簡單:控制器使用服務,指令在模板中使用,並且可以注入服務,因爲指令的綁定可以檢查網上的文檔或大量樣本。對於指令,已經有太多可以說的了。 – Walfrat

+0

感謝您的指導 – Nikolai