如何在子状态处于活动状态时使用ui-router设置活动类

cod*_*ner 1 children angularjs angular-ui-router

我有侧边栏,菜单中有一些项目.这是侧边栏的代码

<div class="navbar-default sidebar" role="navigation">
<div class="sidebar-nav navbar-collapse">
    <ul class="nav in" id="side-menu">
        <li ui-sref-active="sideActive">
            <md-button class="md-raised md-warn md-hue-2" ui-sref="dashboard.home"><i class="fa fa-dashboard fa-fw"></i> Dashboard</md-button>
        </li>
       <li ui-sref-active="sideActive">
            <md-button class="md-raised md-warn md-hue-2" ui-sref="dashboard.userManagement"><i class="fa fa-user"></i>  User </md-button>
        </li>
        <li  ui-sref-active-eq="sideActive" >
            <md-button ng-click="check(4)"  class="md-raised md-warn md-hue-2" ui-sref="dashboard.orderManagement.manage"><i class="fa fa-file-text-o"></i>  Order Management<span class="fa arrow"></span></md-button>
            <ul class="orderNav nav nav-second-level" collapse="collapseVar!=4">
                <li ng-class="{orderActive: $state.includes('order_management')}">
                    <md-button width="2" ui-sref="dashboard.orderManagement.manage" class="md-raised md-warn md-hue-2">Manage Orders</md-button>
                </li>
                <li  ng-class="{orderActive: $state.includes('order_management')}">
                    <md-button width="2" ui-sref="dashboard.orderManagement.payment.transfers" class="md-raised md-warn md-hue-2">Payment</md-button>
                </li>

            </ul>
        </li>
        <li ui-sref-active="sideActive">
            <md-button class="md-raised md-warn md-hue-2" ui-sref="dashboard.artManagement"><i class="fa fa-picture-o"></i>  Art Management</md-button>
        </li>

    </ul>
</div>
<!-- /.sidebar-collapse -->
Run Code Online (Sandbox Code Playgroud)

在上述代码中,对于订单管理,存在子菜单项,并且在子菜单项中,对于子项之一,存在另外的子项(将在主视图而不是侧栏中显示).例如:1)订单管理 - > I)付款II)退款| i)转移ii)收入,当视图是收入或转移或支付时,订单管理应该是活跃的.我正在获取这样的URL http://localhost:8080/admin/#/dashboard/order_management/payment/transfer以进行转移.但对于那些按钮,我无法设置活动类,单击转移时.
这是州代码之一.

.state('dashboard.orderManagement.manage', {
            templateUrl: 'submodules/order_management/manageOrder.html',
            url: '/manage_order',
            controller: 'orderCtrl',
            resolve: {
                loadMyFiles: function($ocLazyLoad) {
                    return $ocLazyLoad.load({
                        name: 'abcd',
                        files: [
                            'submodules/order_management/controller.js',
                            'scripts/services.js'
                        ]
                    })
                }
            }
        })
Run Code Online (Sandbox Code Playgroud)

怎么做,任何人都可以帮助我

som*_*rma 6

您在列表的子元素的ng-class属性中给出了错误的状态.尝试使用以下代码.

<div class="navbar-default sidebar" role="navigation">
        <div class="sidebar-nav navbar-collapse">
            <ul class="nav in" id="side-menu">
                <li ui-sref-active="sideActive">
                    <md-button class="md-raised md-warn md-hue-2" ui-sref="dashboard.home"><i class="fa fa-dashboard fa-fw"></i> Dashboard</md-button>
                </li>
               <li ui-sref-active="sideActive">
                    <md-button class="md-raised md-warn md-hue-2" ui-sref="dashboard.userManagement"><i class="fa fa-user"></i>  User </md-button>
                </li>
                <li  ng-class="{orderActive: $state.includes('dashboard.orderManagement')}" >
                    <md-button ng-click="check(4)"  class="md-raised md-warn md-hue-2" ui-sref="dashboard.orderManagement.manage"><i class="fa fa-file-text-o"></i>  Order Management<span class="fa arrow"></span></md-button>
                    <ul class="orderNav nav nav-second-level" collapse="collapseVar!=4">
                        <li ui-sref-active="sideActive">
                            <md-button width="2" ui-sref="dashboard.orderManagement.manage" class="md-raised md-warn md-hue-2">Manage Orders</md-button>
                        </li>
                        <li  ui-sref-active="sideActive">
                            <md-button width="2" ui-sref="dashboard.orderManagement.payment.transfers" class="md-raised md-warn md-hue-2">Payment</md-button>
                        </li>
                        <li ui-sref-active="sideActive">
                            <md-button width="2" ui-sref="dashboard.orderManagement.pixum" class="md-raised md-warn md-hue-2">Pixum</md-button>
                        </li>
                    </ul>
                </li>
                <li ui-sref-active="sideActive">
                    <md-button class="md-raised md-warn md-hue-2" ui-sref="dashboard.artManagement"><i class="fa fa-picture-o"></i>  Art Management</md-button>
                </li>

            </ul>
        </div>
Run Code Online (Sandbox Code Playgroud)

控制器代码:

 $stateProvider.state('dashboard.orderManagement', {
              url: '/order_management',
              abstract: true,
              template: '<div ui-view></div>'
            })
            .state('dashboard.orderManagement.manage', {
             templateUrl: 'submodules/order_management/manageOrder.html',
            url: '/manage_order',
            controller: 'orderCtrl',
            resolve: {
                loadMyFiles: function($ocLazyLoad) {
                    return $ocLazyLoad.load({
                        name: 'artifuAdmin',
                        files: [
                            'submodules/order_management/controller.js',
                            'scripts/services.js'
                        ]
                    })
                }
            }
            })
            .state('dashboard.orderManagement.pixum', {
               //content
            });
Run Code Online (Sandbox Code Playgroud)