javascript - 否则进行 Angular 路由

标签 javascript angularjs express ngroute

我正在使用javascript,快速服务器和angular编写主页。
目前,我有以下路由:

function config($routeProvider) {
  $routeProvider
  .when('/', {
    templateUrl: '/login/login.view.html',
    controller: 'loginCtrl',
    controllerAs: 'vm'
  })
  .when('/home', {
    templateUrl: '/home/home.view.html',
    controller: 'homeCtrl',
    controllerAs: 'vm'
  })
  .otherwise({redirectTo: '/'});
}


我希望用户获得一个类似于以下内容的页面,而不是.otherwise中的重定向到登录页面:


  未找到
  
  在此服务器上找不到请求的URL


如何在重定向页面的控制器中获取请求的URL?
或实现此目的的常用方法是什么?

亲切的问候,
沃尔夫冈

最佳答案

您可以为错误页面创建新路由,如果用户导航到无效路由,则可以重定向到/error路由。

function config($routeProvider) {
  $routeProvider
  .when('/', {
    templateUrl: '/login/login.view.html',
    controller: 'loginCtrl',
    controllerAs: 'vm'
  })
  .when('/home', {
    templateUrl: '/home/home.view.html',
    controller: 'homeCtrl',
    controllerAs: 'vm'
  })
  .when('/error', {
    template: `
      <h3>Not Found</h3>
      <p>The requested URL is not found</p>
    `
  })
  .otherwise({redirectTo: '/error'});
}


上面的解决方案使用静态模板。如果需要,您还可以使用控制器并执行逻辑以显示特定错误。

关于javascript - 否则进行 Angular 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60364846/

相关文章:

javascript - 在 AngularJS 中编写待办事项列表时无法理解删除过程

javascript - 为什么 javascript 函数在 Firefox 中有效,但在 Chrome 或 IE 中无效

javascript - Controller 内的 AngularJS Controller

javascript - ExtJS 任务运行器

javascript - AngularJS - 提交按钮未禁用(我是新手)

node.js - 在 express 框架中的 session 中出现奇怪的错误

node.js - 仅 Angular 资源请求缺少 CORS header

javascript - Node.js Controller

Javascript 对象映射(展平)

javascript - 使用 Javascript 更改提交按钮值 - 包括换行符