将作用域与侧菜单绑定是行不通的

Binding the scope with side menu does not work - ionic

本文关键字:行不通 绑定 菜单 作用域      更新时间:2023-09-26

我想根据我的应用程序中的用户"角色"在菜单上显示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"。什么好主意吗?

你的控制器范围是否包含你的post html代码?

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

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

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

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

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

据我所知,如果您将xxx.html插入到大型控制器中,使用像您这样的数组是正确的(如果不是,则无法到达插入的html文件中的数据)

。当你避免数组时,你是否尝试过它的功能良好,如果不是,原因一定是angularjs的范围没有达到你的post html代码