我正在研究Angularjs
。我的网站上有两种类型的用户。
假设我的Angular应用程序中有12个视图。我想只为Guest用户呈现1个视图,为Logged in用户呈现12个视图。
据我所知,Angularjs将单个js中的所有文件(js,html)转换为然后加载它(如果我错了,请纠正我)。因此,对于Guest用户,它还将渲染其余11个视图的代码,我不想渲染这些视图会使应用程序变慢。我可以使用if / else语句根据条件呈现视图,但仍然会为Guest用户呈现其余的11个视图。
我看到的唯一解决方法是制作两个应用程序。在Angularjs中,是否可以仅为guest虚拟机定义1个视图,为单个应用程序中的登录用户定义12个视图?
答案 0 :(得分:0)
事情就是这样,你不能在配置块之外加载路由,或者没有正式的方法来做到这一点。
虽然有某种方法可以做到这一点。结帐How to defer routes definition in Angular.js?。再次这不是官方的,所以如果有角度的团队改变角度的代码,那么你需要改变你的代码。
正如您所提到的,一种可能的解决方案是创建两个不同的角度应用程序。并从服务器管理它们之间的路由。这是非常安全的方式也很简单。