javascript - 根据用户角色在单个 View 中显示侧面菜单的不同内容

标签 javascript angularjs ionic-framework

<ion-side-menus>
  <ion-side-menu side="left">
    <ion-content>
     <ion-list>
       <ion-item ng-if="Admin">
          Admin Side Menu
       </ion-item>
       <ion-item ng-if="!Admin">
          Guest
       </ion-item>
       <ion-item href='#/app/store'>
         Store
       </ion-item>
       <ion-item href='#/app/store'>
         About Us
       </ion-item>

       <!-- Admin Side Menu -->
         <ion-item ng-if="Admin" href='#/app/progres'> 
           Progress Tracker</ion-item>
         <ion-item ng-if="Admin" href='#/app/settings'> 
           Settings </ion-item>
         <ion-item ng-if="Admin" href='#/app/user'> 
           Manage Users </ion-item>
         <ion-item ng-if="Admin" href='#/app/report'> 
           Report</ion-item>
         <ion-item ng-if="Admin" href='#/app/logout'>
           Logout</ion-item>

       <!-- Guest Side Menu -->
         <ion-item ng-if="!Admin" href='#/app/guestsettings'>
           Settings</ion-item>
         <ion-item ng-if="!Admin" href='#/app/gusetreport'> 
           Report</ion-item>
         <ion-item ng-if="!Admin" href='#/app/guestlogout'> 
           Logout</ion-item>
    </ion-content>
  </ion-side-menu>
</ion-side-menus>

大家好,我正在尝试根据用户 Angular 色访问 ionic 应用程序中的侧面菜单内容,但无法编写 Controller 来根据用户 Angular 色访问侧面菜单,因为我想为不同的用户 Angular 色显示不同的侧面菜单内容。

我希望向所有用户显示基本选项,例如商店、关于我们等。

我还希望有几个其他选项,例如管理用户、用户报告等,这些选项仅向管理员显示。

最佳答案

这是一个简单的入门知识,假设这是 Ionic 1。 请注意,此处忽略了安全性。

您需要从服务器获取用户对象。假设返回的用户对象如下所示:

{
 name: "John Doe",
 email: "jdoe@example.com"
 role: "Admin"
}

您需要将其附加到范围:

$http({
  method: 'POST',
  url: '/authenticate'
 }).then(function successCallback(response) {

  $scope.user = response.data;
});

然后在html模板中:

<ion-item ng-if="user.role == Admin" href='#/app/progres'> 
       Progress Tracker</ion-item>

关于javascript - 根据用户角色在单个 View 中显示侧面菜单的不同内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39132562/

相关文章:

javascript - 如果输入字段包含文本,如何触发函数?

javascript - Fullcalendar Scheduler - 多用户 View 不工作

javascript - navigator.buildID 对于每个访问者来说都是唯一的吗?

javascript - javascript 混淆器是否适用于 AngularJS?

Angularjs 用户界面 :sortable in ng:repeat not behaving as expected

javascript - 如何将纹理应用到 THREE.ExtrudeGeometry?

javascript - Angular 2 将输入绑定(bind)到函数调用

javascript - 为什么我的默认页面在模拟器和浏览器中打开时不同? ( ionic /Angular 用户界面)

javascript - ionic 3 : Getting value from PlayStore link

html - ionic 如何打开 pdf 文件并在 ios 和 android 设备中查看