MEAN.JS 如果 link 在新 tab/window 中打开,则视图不显示

MEAN.JS view does not show if link open in new tab/window

框架: MEAN.JS v.0.4.2

我使用 YO 生成器创建了新的 "orders" 模块。 orders.listorders.view 都可以正常工作。我可以浏览orders.list状态直接使用urlDOMAIN/orders但是我不能浏览orders.view 状态直接使用 url 例如 DOMAIN/orders/id123。没有错误,但页面是空的。这是我的路由配置文件:

    (function () {
  'use strict';

  angular
    .module('orders')
    .config(routeConfig);

  routeConfig.$inject = ['$stateProvider'];

  function routeConfig($stateProvider) {
    $stateProvider
      .state('orders', {
        abstract: true,
        url: '/orders',
        template: '<ui-view/>'
      })
      .state('orders.list', {
        url: '',
        templateUrl: 'modules/orders/client/views/list-orders.client.view.html',
        controller: 'OrdersListController',
        controllerAs: 'vm',
        resolve: {
          orderResolve: getOrders
        },
        data: {
          pageTitle: 'Orders List'
        }
      })
      .state('orders.create', {
        url: '/create',
        templateUrl: 'modules/orders/client/views/form-order.client.view.html',
        controller: 'OrdersController',
        controllerAs: 'vm',
        resolve: {
          orderResolve: newOrder
        },
        data: {
          pageTitle: 'Orders Create'
        }
      })
      .state('orders.edit', {
        url: '/:orderId/edit',
        templateUrl: 'modules/orders/client/views/form-order.client.view.html',
        controller: 'OrdersController',
        controllerAs: 'vm',
        resolve: {
          orderResolve: getOrder
        },
        data: {
          pageTitle: 'Edit Order {{ orderResolve.name }}'
        }
      })
      .state('orders.view', {
        url: '/:orderId',
        templateUrl: 'modules/orders/client/views/view-order.client.view.html',
        controller: 'OrdersController',
        controllerAs: 'vm',
        resolve: {
          orderResolve: getOrder
        },
        data: {
          pageTitle: 'Order Details {{ orderResolve.name }}'
        }
      });
  }

  getOrder.$inject = ['$stateParams', 'OrdersService'];
  function getOrder($stateParams, OrdersService) {
    return OrdersService.get({orderId: $stateParams.orderId}).$promise;
  }

  newOrder.$inject = ['OrdersService'];
  function newOrder(OrdersService) {
    return new OrdersService();
  }
}());

请在错误日志中查找错误。我发现视图文件丢失错误。在模板开头加一个斜杠 url 可以解决这个问题。例如:

templateUrl: '/modules/orders/client/views/...',