构建Angular应用程序的最佳方法是什么,所以控制器可以有$ state.go(..)?

时间:2014-12-06 23:31:11

标签: javascript angularjs dependency-injection angular-ui-router

在我的Angular应用中,应用的每个页面都有自己的文件夹,其中包含.html个文件,app个文件和controller个文件。

有点像

root
|-- index
|  |-- index.html
|  |-- index.js
|  |-- indexCtrl.js
|-- login
|  |-- login.html
|  |-- login.js
|  |-- loginCtrl.js
etc...

我的ui-router逻辑包含在index.js中的应用中。

我想要做的是在ui-router中放置一些login.js逻辑,其中我有一个提交函数(ng-submit中的login.html),我想重定向用户如果登录成功。

loginApp.controller('loginCtrl', ['$scope', function($scope){
    $scope.submit = function(){

    }

麻烦的是,我并不完全是如何管理所有导入和依赖关系,或者如果我这样做是最好的方式。我应该在此应用和所有需要重定向状态的应用中注入ui-router吗?

我担心会让事情变得混乱。例如,LoginApp注入ui-router,然后IndexApp注入LoginAppui-router

这似乎不对。是否有更好的方法让不同的应用程序/控制器对$state执行操作,但减少所有注入?

1 个答案:

答案 0 :(得分:1)

您应该将您的路线分成不同的模块,这使得跟上它并且很容易出错也很繁琐。

您的主应用应包含您对该特定应用的路线。如果你真的想要对所有组件进行子模块化,那么你将指的是路由文件中的(其他模块)控制器。