如何在angular中呈现与用户角色相关的页面

时间:2014-03-26 02:54:44

标签: angularjs django-rest-framework

首先,我是Angular JS的新手。我正在一个项目中工作,我有三种类型的用户,所有三个用户都有不同类型的视图。现在我的问题是,登录后是否可以只渲染那些属于登录用户而不是所有页面的页面/视图?如果是,那么如何?

1 个答案:

答案 0 :(得分:0)

我会在服务器端执行此操作。像这样的东西。这将根据设置的用户标志类型输入正确的角度应用程序。当然,这意味着每个用户都有一个标志,表明他们是什么类型的用户。您可以只使用用户类型的唯一属性,它将工作相同。这将为每种不同类型的用户提供独特的视图和控制器。我假设你想要一个网址根据用户的用途提供三种不同类型的角度应用。如果您想控制哪些网址是可访问的,那么完全是其他内容,应该在您的django视图中处理。

{% if user.is_staff %}
    <div ng-app='staffApp'>
{% elif user.is_investor %}
    <div ng-app='investorApp'>
{% elif user.is_founder %}
    <div ng-app="founder">
{% endif %}
    <div ng-view>
    </div>
</div>

另一种方式是让每个用户都喜欢

@property
def ng-app(self):
    return 'investorApp'

然后在你的模板中做

<div ng-app='{{ user.ng-app }}'>
     <div ng-view>
     </div>
</div>

但无论如何,我认为这将是解决问题的正确方法:)