我想在我的应用程序中根据用户“角色”在菜单上显示2个不同的离子列表。
app.js
.state('app', {
url: '/app',
abstract: true,
cache: false,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
AppCtrl
.controller('AppCtrl', function($scope) {
// EXAMPLE
$scope.user = {
name: "example",
role: "client"
};
})
menu.html
<ion-list ng-if="user.role == 'manager' ">
<ion-item menu-close href="#/app/search">
MANAGER
</ion-item>
<ion-item menu-close href="#/app/songbook">
ITEM A
</ion-item>
</ion-list>
<ion-list ng-if="user.role == 'client' ">
<ion-item menu-close href="#/app/search">
CLIENT
</ion-item>
<ion-item menu-close href="#/app/search">
ITEM B
</ion-item>
</ion-list>
问题在于它不会呈现任何离子列表!只是空洞!
在我看来,angular不绑定“scope.user”
有什么想法吗?
答案 0 :(得分:1)
你的控制器是&#39;范围包含您的帖子HTML代码?
<ion-list ng-if="user.role == 'manager' ">
如果控制器包含您的列表代码,
那么你是否首先尝试避免数组,比如
$scope.user_role == 'manager'
在控制器中,
ng-if="user.role == 'manager'
。
据我所知,如果你将一个xxx.html插入一个大型控制器,那么使用像你这样的数组是正确的(如果没有,可以将数据传到插入的html文件中)
反正。您是否尝试在避开阵列时它是否正常运行,如果没有,原因必须是angularjs的范围未达到您的html代码