0

我想根据我的应用程序中的用户“角色”在菜单上显示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> 

而问题是,它不呈现任何离子列表!只是空的!
在我看来,角没有约束“scope.user” 任何想法?

+0

,能得到任何控制台错误? –

+0

不,即使我做了一个“console.log(”Something“);”从AppCtrl它不显示! –

回答

1

您的控制器的范围是否包含您的发布html代码?

<ion-list ng-if="user.role == 'manager' "> 

如果控制器包括列表代码,

然后你尽量避免阵列第一,像

控制器$scope.user_role == 'manager'

在html ng-if="user.role == 'manager'

据我所知,如果插入xxx.html成一个大的控制器,利用阵列就像你是正确的(如果不是,数据机器人到达入插入HTML文件)

反正。你尝试是否运行良好,当你避免数组,如果没有,原因一定是angularjs的范围内没有达到您的文章的html代码

+0

它似乎像角没有达到我的HTML代码。但只是为了这个控制器,也许是因为是“抽象的”? 因为我有其他控制器(不是抽象的),它的工作原理! –

+0

@IsmaHaro,“抽象”听起来像不值得信任的东西,^。^去年,当我刚刚开始学习时,我在angularjs中遇到了很多问题。由于时间紧迫,我没有弄清楚其中的一些。但是,如果您在某些情况下成功了,也许您可​​以比较它们或重写上面的代码。希望你成功! –