首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角视图,如果没有验证,则显示单个视图。

角视图,如果没有验证,则显示单个视图。
EN

Stack Overflow用户
提问于 2014-10-29 17:59:25
回答 2查看 901关注 0票数 0

我正在使用包装引导中的SmartAdmin主题。我增加了数吨我自己的角码~5k / loc。

到目前为止,我已经使用主题的方法来查看呈现,然而,现在它已经成为一个问题,我需要一个方法绕过它的登录页面。

项目档案结构

代码语言:javascript
复制
project/
  assets/
    js/
      app/
        feature1/
          controller.js
          directive.js
          filter.js
  views/
    feature1/
      template.html
    feature2/
  index.html

当用户第一次进入项目根目录时,index.html就会被服务起来。在index.html内部有各种ng-includes,用于页眉、边导航和页脚。

我在每个请求之间使用基于JWT的身份验证和授权,如果用户没有经过身份验证或超时,则通过/login重定向到$location.path('/login');

问题是,它仍然显示标题、侧导航和页脚(来自project/index.html)。不管怎么说,是否存在这样的问题,并且只有在经过身份验证时才使用index.html

如您所料,我不希望用户在未经身份验证时看到header/sidenav/ when。不管我在路由器中指定的templateUrl是什么,index.html都是服务的,templateUrl是在路由器内部使用的。我需要的不是只发生在特定的路线上。

编辑:

我使用的模板是通过<div ng-view></div>插入到index.html中的。

模拟index.html布局:

代码语言:javascript
复制
<html ng-app="app">
  <head>
  </head>
  <body ng-controller="PageCtrl">
    <header ng-include="'templates/header.html'"></header>
    <aside ng-controller="'templates/left-panel.html'"></aside>
    <div ng-view></div>
    <footer ng-include="'templates/footer.html'"></footer>
  </body>
</html>

ng-view内部,每个模板都有一个控制器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-29 18:09:42

一个简单的解决方案是添加和ng隐藏到您的导航和标题是依赖于当前的路线。我通常使用UI-路由器,所以我没有即时可用的服务,但是如果您不能理解它,我会添加一个注释,我会看一看。

票数 0
EN

Stack Overflow用户

发布于 2014-11-28 06:38:25

使用ng-当使用应用程序安全性时,如果是更安全的。ng-显示和ng-隐藏将工作,但这只是设置/重置通过身份验证的标题和菜单的可见性。

因此,通过在脚本部分进行身份验证时设置一个范围变量(类似于$scope.authenticated = true; ),并在模板(如ng-if="authenticated" )中使用该变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26637512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档