使用AngularJS和UI路由的模块化设计

时间:2016-01-21 15:50:06

标签: angularjs angular-ui-router

我是angularjs的新手(我来自Java,Python,Objective-c),我试图实现模块化设计。 但我不知道app.js如何能够"导入"其他模块,然后控制器如何导入其他控制器并将它们保存在单独的文件中。

这就是我想要的:

/app

     /img -- application level images
     /css -- application level css
     /js

     app.js -- the main app module
     /modules
         /login
             /js
                 controllers.js --controllers for login module
                 directives.js --directives for login module

             /views -- views for login module
             /css
             /img
             loginModule.js -- Main login module definition

         /comment
             /js
                 controllers.js --controllers for login module
                 directives.js --directives for login module

             /views -- views for comment module
             /css
             /img
             commentModule.js -- Main comment module definition

     ...

     ...

     index.html

1 个答案:

答案 0 :(得分:1)

您可以通过使其成为依赖项来导入其他modules

在你的情况下,它可能是这样的。

angular.module("app.module", ["login.module", "comment.module"]);

您还可以将“ 核心 ”功能分组到core.module

等模块中
angular.module("core.module", ["login.module", "comment.module"]);

然后让app.module依赖于此模块。

angular.module("app.module", ["core.module", "ui.router"]);

希望有所帮助。

您可以在index.html中引用您的文件,如下所示:

<html>
<head>
    <title></title>
</head>
<body>
    // HTML code here

    // angular libraries and other vendor libaries

    <script type="text/javascript" src="<path to each module>"></script>
    ...
    <script type="text/javascript" src="app.js"></script>
</body>
</html>