为不同的角色定义不同的视图

Define different views for different roles

本文关键字:视图 定义 角色      更新时间:2023-09-26

我正在研究Angularjs .我的网站上有两种类型的用户。

  1. 来宾用户
  2. 已登录用户

假设我的 Angular 应用程序中有 12 个视图。我只想为来宾用户呈现 1 个视图,为登录用户呈现 12 个视图。

据我在某处阅读,Angularjs 将所有文件(js,html)转换为单个 js 然后加载它(如果我错了,请纠正我)。因此,对于来宾用户,它还将呈现我不想渲染的 rest 11 视图的代码,这使得应用程序有点慢。我可以使用 if/else 语句根据条件呈现视图,但它仍然会为来宾用户渲染 rest 11 个视图。

我看到的唯一解决方法是制作两个应用程序。是否可以在 Angularjs 中为访客定义 1 个视图,在单个应用程序中为登录用户定义 12 个视图?

问题是,你不能在配置块之外加载路由,或者没有官方方法可以做到这一点。

虽然有一些方法可以做到这一点。查看如何在 Angular.js 中延迟路由定义?。同样,这不是官方的,所以如果角度团队更改了角度的代码,那么您需要更改代码。

正如您所提到的,一种可能的解决方案是创建两个不同的角度应用程序。并从服务器管理它们之间的路由。这是非常安全的方式,也很简单。