Angularjs 从1个控制器到3个控制器

Angularjs 从1个控制器到3个控制器,angularjs,angular-routing,Angularjs,Angular Routing,我是angularJS的新手,所以我仍在学习做事的“角度方法”,因此寻求建议 我开始构建我的登录/注册/忘记密码视图,现在可以很好地工作了。因此,路由基本上如下所示: mainApp.config(function ($routeProvider) { $routeProvider .when('/login', { controller: 'loginCtrl', templateUrl: 'views/login.html' }) .whe

我是angularJS的新手,所以我仍在学习做事的“角度方法”,因此寻求建议

我开始构建我的登录/注册/忘记密码视图,现在可以很好地工作了。因此,路由基本上如下所示:

mainApp.config(function ($routeProvider) {
$routeProvider
   .when('/login',
   {
       controller: 'loginCtrl',
       templateUrl: 'views/login.html'
   })
   .when('/register',
   {
       controller: 'registerCtrl',
       templateUrl: 'views/register.html'
   })
   .when('/dashboard',
   {
       controller: 'dashboardCtrl',
       templateUrl: 'views/dashboard.html'
   })
})
下面是我的问题和/或疑问:

成功登录后,您将被重定向到仪表板,仪表板将加载到
ng视图中。仪表板确实是视图,但一旦你进入应用程序(侧栏、顶栏、聊天…),就应该有更多的控制器和模板

你将如何处理这个问题


我在html元素上还有一个globalCtrl来处理其他事情,以防信息在任何方面都有帮助。

这是在Angular JS中使用
$routeProvider
的好处。当您使用
$routeProvider
在angular JS中定义管线时,单个管线只能指向单个视图,使用
$routeProvider
不存在嵌套视图的概念

当您谈到在视图中有多个模板时,您所说的是在单个视图中有嵌套视图。不幸的是,Angular的
$routeProvider
没有提供这一功能。但现在出现了ui路由器,它用状态取代了路由的概念。可以在一个状态中定义多个子状态,每个子状态可以指向不同的模板。查看以下链接,并按照简单步骤启动应用程序中的视图和嵌套视图


你不应该再在控制器中思考了。而应该考虑“组件”。互联网上有很多关于如何学习这种(更好的)方法的文章。以下是一个开始:

tl;博士为视图的每个部分/部分创建组件(元素指令)。在您的案例中,a


您可以(也应该)路由到组件!有关更多信息,请参见此。下面是一个如何实现这一点的“现实生活”示例:

我建议使用ui路由器。它有一些很棒的特性,比如命名视图。好的,我很喜欢这种方法,但是有没有一个实用的例子呢?我还在读这篇文章,我的问题是:一旦我进入带有这3个组件的仪表板,我如何处理路由以便切换到例如?您可以使用嵌套状态和子路由,我添加了一个示例