在指令中路由指令

时间:2016-06-05 20:17:57

标签: javascript jquery angularjs angular-ui-router

我在指令中路由指令时遇到了一些问题。 这是我的ui-routing app.config:

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',  function ($stateProvider, $urlRouterProvider, $locationProvider) {
    $urlRouterProvider.otherwise('/home');

    $stateProvider
        .state('modules', {
            url: '/home',
            templateUrl: 'resources/modules/home/templates/module-panel.jsp'
        })

        .state('customer', {
            url: '/customer',
            templateUrl: 'resources/modules/customer/templates/customer-panel.jsp'
        })


        .state('customerProfile', {
            url: '/customer/customerProfile',
            templateUrl: 'resources/modules/customer/templates/customer-profile.jsp'
        })

        .state('customerList', {
            url: '/customer/customerList',
            templateUrl: 'resources/modules/customer/templates/customer-list.jsp'
        });
;
/*$locationProvider.html5Mode(true);*/

就我的指令而言,主要指令是“客户”,其子指令分别是“客户列表”和“客户档案”。 这是“客户”指令的html:

<span ng-controller="CustomerController as custCtrl">
  <div class="sub-menu">
    <ul class="menuList">
      <li class=""><a class="anime" ui-sref="customerList" ng-class="{active: custCtrl.customerListPanel}" ng-click="custCtrl.openCustomerList()">Customer List</a></li>
      <li class=""><a class="anime" ui-sref="customerProfile" ng-class="{active: custCtrl.customerProfilePanel}" ng-click="custCtrl.openCustomerProfile()">Customer Profile</a></li>
    </ul>
  </div>
  <div ng-show="custCtrl.customerListPanel">
    <customer-list></customer-list>
  </div>
  <div ng-show="custCtrl.customerProfilePanel">
    <customer-profile></customer-profile>
  </div>
</span>

但问题是,当控件进入“客户档案”或“客户列表”时,“客户”的内容就消失了。我希望“客户”指令充当“主”,并且这两个指令都应该使用主要的“客户”模板,而不是它们各自的html。

0 个答案:

没有答案