分离角度路由,控制器,服务

时间:2015-11-11 02:57:18

标签: javascript angularjs angularjs-scope

你必须原谅这个缺乏代码示例;但是,我希望这个问题很直接,不需要一个。

我刚开始使用Angular。我正在研究的项目并不是很大。将控制器放在一个文件中,路由到另一个文件和最后一个文件中的服务是否可行?如果是这样,我如何管理依赖项,以便我可以从路由文件中引用我的控制器?

2 个答案:

答案 0 :(得分:4)

注意:这只会回答文件/文件夹结构。理想情况下,这将被编译成一个引用到您的应用程序的单个文件。或编译成单独包含的功能文件。

基于John Papa的指南:

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

和Todd Motto

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

您希望保持文件夹结构相对平坦,这样您就不必花费多年时间浏览文件夹来查找所需的文件。

答案 1 :(得分:2)

当然可以。这是您使用angular进行的常规代码组织行为。 因为你是新手,我有一个非常简单的示例角应用程序。我和我的学生一起使用这个应用程序来解释使用angular和node 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>