0

我有以下问题:我正在使用 ng-admin 来构建管理页面。ng-admin 界面添加了一个自定义页面。标准的 ng-admin 页面由 ng-admin 路由,列表/编辑视图没有问题。现在我想为自定义页面使用 angular.js 路由,因为我需要在 url 中带有参数的 url 路由。如果我不在 url 中使用任何参数,路由确实有效。一旦我使用了参数,自定义页面的路由确实可以工作,但是当我单击任何其他页面时,新页面将永远加载并且不会打开。如果我使用不带参数的路由,所有页面都会正确加载。

这是有效的:

function routing($stateProvider, $urlRouterProvider){
// default route
  $urlRouterProvider.otherwise('/custom');
  $stateProvider.state('custom', {
    parent: 'main',
    url: '/custom',
    template: customTemplate,
    controller: 'CustomController'
    });
}

这不起作用:

function routing($stateProvider, $urlRouterProvider){
// default route
  $urlRouterProvider.otherwise('/custom');
  $stateProvider.state('custom', {
    parent: 'main',
    url: '/custom?date',
    template: customTemplate,
    controller: 'CustomController'
    });
}

我使用 $state.go 函数来更改状态并路由页面:

function transition(){
  var dates = $scope.startdate.getTime();
  $state.go('custom', {date: dates}, {notify: false});
};

4

1 回答 1

0

我相信您可能必须在一个params部分中声明参数:

function routing($stateProvider, $urlRouterProvider){
  // default route
  $urlRouterProvider.otherwise('/custom');
  $stateProvider.state('custom', {
    parent: 'main',
    url: '/custom?date',
    params: { date: null },
    template: customTemplate,
    controller: 'CustomController'
  });
}

有关详细信息,请参阅ui-router 文档

于 2015-12-10T21:33:44.230 回答