首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于自定义URL的AngularJS location.path

用于自定义URL的AngularJS location.path
EN

Stack Overflow用户
提问于 2016-06-24 06:28:44
回答 1查看 95关注 0票数 0

Ctrl代码:

代码语言:javascript
复制
$scope.$on('$locationChangeStart', function () {

var o1 = $location.path();
var o2 = '/login';
var o3 = '/password-recovery';

if(o1.match(o2)){

  $scope.loginContainer= function() {
  return true;
};
});

代码语言:javascript
复制
<div class="container" ng-show="loginContainer()">
 <div ui-view></div>
</div>

当url与http://localhost/angapp/#/login匹配时,代码可以工作,但现在我有了管理员url,如下所示

代码语言:javascript
复制
http://localhost/angapp/#/admin/users
http://localhost/angapp/#/admin/usersGrp
http://localhost/angapp/#/admin/XYX

我需要使用var o4 = '/admin/';,以便它接受任何以admin开头的url,然后跟着moduleName并相应地显示html。

如何使用location.path()来匹配Admin并同样显示/隐藏div?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 06:47:21

这是一个非常简单的答案,但是您可以检查url中是否包含关键字"admin“,并设置一个布尔变量来显示或隐藏div。

例如:

代码语言:javascript
复制
    if ($location.absUrl().split('?')[0].match('admin')) {
        $scope.showDiv = true;
     } else {    
        $scope.showDiv = false;
    }

而div可以是

代码语言:javascript
复制
<div ng-show="showDiv"></div>

<div ng-hide="showDiv"></div>

但是依赖url不是正确的方法,如果您想要安全性,您可能需要检查不同的身份验证和授权方式,一些您可能会发现有用的链接

  1. https://www.sitepoint.com/implementing-authentication-angular-applications/
  2. http://www.stefanoscerra.it/permission-based-auth-system-in-angularjs/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38006893

复制
相关文章

相似问题

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