将主页重定向为shell页面,而不是angularJS中的索引页面
Redirected homepage as shell page rather than the index page in angularJS
我是AngularJS的新手。AngularJS通常适用于单页应用程序场景,我找到的大多数登录示例都定义了索引.html作为shell页面,这意味着ng-view是在索引.html中定义的。
问题 :在我的场景中,登录页面和索引页面是相同的,即当您点击根上下文时,您会登陆登录.html一旦成功登录,您就会到达主页.html。主页将有一个徽标,顶部横幅,左侧导航和一个内容部分。不同的模板将简单地位于内容部分内,保持不变,提供不同的视图,如仪表板视图、查询表单视图、报告视图等。因此,我更适合将主页.html作为shell页面,因为所有其他视图都将仅嵌入到主页中。
现在我如何从登录页面重定向到主页,这是外壳页面,因为根据我的理解
<body ng-app></body>
将使登录页面成为外壳页面,一旦登录.html是外壳页面,就无法重新定义。
另一种方法是拥有一个空白的 shell 页面,并将整个登录页面作为一个视图和仪表板.html作为另一个视图和类似的查询.html、报告.html和不同的模板。但这不是一个好方法,因为我将不得不在每个模板中复制顶部横幅、导航等的代码。这样做会破坏SPA的基本目的。
如何实现这一点?如果可能的话,最好有一个虚拟的例子
我认为你应该重新考虑如何构建索引.html页面
您的索引页面不是登录页面/主页。它必须是一个容器,根据当前路由包含它们中的每一个。
所以基本上索引页面将是
<body ng-app="app">
[an header maybe ?]
<div ng-view></div>
<script></script>//all script at end of page
<body>
然后你定义路由,说/login 将与 login 匹配的内容.html作为 ng-view 的内容。/home 将与 homepage.html 匹配。
未知路由将与/login 匹配($routerProvider.否则(。在您的登录页面中,如果您的用户已经连接,您可以将他重定向到主页。
在所有其他页面上,如果用户未连接,则将当前路由更改为登录路由。为此,请查看 https://docs.angularjs.org/api/ngRoute/service/$route$routeChangeSuccess的活动
- 如何通过所选索引(AngularJS)在模态弹出窗口中显示数据
- 如何将ng选项的索引作为angularJs中的值传递给模型
- angularjs$watch获取已更改数组项的索引
- AngularJS-ng使用字符串索引在数组上重复
- AngularJS$索引始终为0
- 防止谷歌索引AngularJS路由
- AngularJS ng选项获取索引
- AngularJS/Restangular索引JSON数据提取
- 如何通过指令在AngularJS中查找索引
- AngularJS ng-重复2D数组,并根据索引仅显示某些值
- AngularJS - ng-repeat,更新尚未定义的模型对象索引
- 构建现实世界的AngularJS应用程序,我应该如何在html中声明我的控制器.我需要在索引中声明所有.html吗?
- 将主页重定向为shell页面,而不是angularJS中的索引页面
- AngularJS使用承诺和索引数据库 - 在页面上后将内容加载到控制器
- 如何使用angularjs将数据添加到json数组的特定索引
- AngularJS嵌套了带有单个索引的ng-repeats
- AngularJS:按索引删除数组项后索引不更新
- AngularJS加载索引.html而不是模板
- AngularJS md-tabs的更改索引完全没有影响
- 如何从angularjs指令中的ng选项返回对象的索引