将范围与侧边菜单绑定不起作用 - 离子

时间:2016-11-13 03:28:16

标签: javascript angularjs model-view-controller ionic-framework

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

1 个答案:

答案 0 :(得分:1)

你的控制器是&#39;范围包含您的帖子HTML代码?

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

如果控制器包含您的列表代码,

那么你是否首先尝试避免数组,比如

$scope.user_role == 'manager'在控制器中,

html中的

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

据我所知,如果你将一个xxx.html插入一个大型控制器,那么使用像你这样的数组是正确的(如果没有,可以将数据传到插入的html文件中)

反正。您是否尝试在避开阵列时它是否正常运行,如果没有,原因必须是angularjs的范围未达到您的html代码