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中遇到了很多問題。由於時間緊迫,我沒有弄清楚其中的一些。但是,如果您在某些情況下成功了,也許您可​​以比較它們或重寫上面的代碼。希望你成功! –