2015-11-11 184 views
0

你將不得不原諒這個代碼示例的缺乏;但是,我希望這個問題很直接,不需要一個。分離角路由,控制器,服務

我剛剛與Angular合作。我正在做的這個項目並不是很大。將控制器放在一個文件中,在另一個文件中路由和在最後一個文件中放置服務是否可行?如果是這樣,我如何管理依賴關係,以便我可以從路由文件中引用我的控制器?

+0

單獨的文件最好通過使用單獨的模塊來處理(每個文件一個是一個好的起點) – Phil

回答

2

當然可以。這是您遵循angular的正常代碼組織行爲。 因爲你是新手,我有一個非常簡單的示例角度應用程序。我使用這個應用程序與我的學生解釋使用角度和節點js的單頁面應用程序。

你可以找到一個鏈接,你問這裏 https://github.com/mustafamg/CourseManagementSystem/tree/master/public/app

在這個環節,你可以找到路由在app.js應用準備的樣品,而控制器在控制器文件夾。

您簡單地引用在HTML文件app.js其次controller.js

<script src="app.js"></script> 
<script src="controller.js"></script> 
+0

這是一個很好的參考。謝謝。 – chrisl0lz

+0

@ chrisl0lz隨時樂意助人:) – Mustafamg

4

注:這隻會回答文件/文件夾結構。理想情況下,這將被編譯成一個引用到您的應用程序中的單個文件。或者將其編譯爲單獨包含的功能文件。


基於該指南從約翰爸爸:

https://github.com/johnpapa/angular-styleguide#locate

和託德座右銘

http://toddmotto.com/opinionated-angular-js-styleguide-for-teams/

https://github.com/toddmotto/angularjs-styleguide

兩個最好的辦法是IMO ,對於較小的項目,按類型:

|-- app.js 
|-- controllers/ 
| |-- MainCtrl.js 
| |-- AnotherCtrl.js 
|-- filters/ 
| |-- MainFilter.js 
| |-- AnotherFilter.js 
|-- services/ 
| |-- MainService.js 
| |-- AnotherService.js 
|-- directives/ 
| |-- MainDirective.js 
| |-- AnotherDirective.js 

或爲大型項目,特徵驅動:

|-- app.js 
|-- dashboard/ 
| |-- DashboardService.js 
| |-- DashboardCtrl.js 
|-- login/ 
| |-- LoginService.js 
| |-- LoginCtrl.js 
|-- inbox/ 
| |-- InboxService.js 
| |-- InboxCtrl.js 

你要保持文件夾結構相對平坦,這樣你就不必花費年齡導航文件夾來找到你想要的文件。