首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角:单个URL的多个模板?

角:单个URL的多个模板?
EN

Stack Overflow用户
提问于 2015-11-16 05:36:13
回答 1查看 388关注 0票数 0

我有一个“管理员”面板,所有角色的用户都可以使用它(目前是adminuser )。

主要问题是,我希望限制加载任何admin HTML视图(我将作为后端上的简单检查来完成此操作,如果未授权加载模板,则返回401 )。HTML中有很多东西我需要隐藏。

我的问题是,这意味着现在有两个视图为几个部分。

因此,当用户是管理员时,/settings会将一个完全不同的视图显示为/settings

控制器实际上将被共享,因为控制器代码非常接近,但是HTML非常不同。

我目前正在使用angular-router,但我也签出了ui-router,我只是不知道如何构造。我花了很长时间研究UI路由器,虽然看起来很棒,但我不知道最好的方法。

我有大约10个路线/观点,需要属于每个角色,这将是不同的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-16 06:09:21

如果发出一个全局变量,表示当前用户是admin:

代码语言:javascript
复制
<script type="text/javascript">window.isAdmin = true</script>

然后在路由定义中检查该变量:

代码语言:javascript
复制
...
when('/setting', {
  templateUrl: isAdmin ? 'templates/admin/setting.html' : 'templates/user/setting.html',
  controller: 'SettingController'
})
...

另一方面,让web服务器根据用户的角色为同一视图URL提供不同的视图。据我所知,你已经可以做到了,对吧?

代码语言:javascript
复制
app.get('/templates/setting.html', function(req, res) {
  if (user.role === "admin") {
    res.send(...);
  } else {
    res.send(...);
  }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33729112

复制
相关文章

相似问题

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