通过别名导航到路由器时,如何将URL更改为路径?

尼克·马纳林(Nicke Manarin)

当用户使用路线的别名导航到页面时,URL与别名保持在一起,并且页面正确呈现。

path用户导航到别名时,如何更改为的URL

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "@/views/Home.vue";

Vue.use(VueRouter);

const routes = [
  {
    path: "/404",
    name: "404",
    alias: "*",
    component: () => import(/* webpackChunkName: "NotFound" */ "@/views/NotFound.vue")
  },
  {
    path: "/",
    name: "Home",
    alias: "/home",
    component: Home
  },
  {
    path: "/downloads",
    name: "Downloads",
    alias: ['/download', '/releases'], 
    component: () => import(/* webpackChunkName: "Downloads" */ "@/views/Downloads.vue")
  }
];

const router = new VueRouter({
  mode: "history",
  base: process.env.BASE_URL,
  routes
});

export default router;

例如:

  1. 用户类型www.example.com/home
  2. 浏览器加载Home页面页面。
  3. 网址已更改为“ www.example.com/”。

其他:

  1. 用户类型www.example.com/lalallaa
  2. 浏览器加载NotFound页面页面。
  3. 网址已更改为“ www.example.com/404”。

做到这一点的最佳方法是什么?我只能考虑created()在每个页面上使用事件并手动设置URL,但是我不确定这是否是最佳方法。

菲尔

您需要的是重定向,而不是别名。

设置您想要的已知重定向

  • /home => /
  • /download/releases=>/downloads

然后/404在该routes数组的末尾添加一个包罗万象的重定向

const router = new VueRouter({
  routes: [{
    path: '/404',
    component: { template: `<h1>404</h1>` }
  }, {
    path: '/',
    component: { template: `<h1>Home</h1>` }
  }, {
    path: '/home', redirect: '/'
  }, {
    path: '/downloads',
    component: { template: `<h1>Downloads</h1>` }
  }, {
    path: '/download', redirect: '/downloads'
  }, {
    path: '/releases', redirect: '/downloads'
  }, {
    path: '*', redirect: '/404'
  }]
})

new Vue({
  el: '#app',
  router
})
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
<script src="https://unpkg.com/[email protected]/dist/vue-router.js"></script>
<div id="app">
  <ul>
    <li><router-link to="/home">/home</router-link></li>
    <li><router-link to="/">/</router-link></li>
    <li><router-link to="/downloads">/downloads</router-link></li>
    <li><router-link to="/download">/download</router-link></li>
    <li><router-link to="/releases">/releases</router-link></li>
    <li><router-link to="/lalallaa">/lalallaa</router-link></li>
  </ul>
  <router-view></router-view>
  <pre>$route.fullPath = {{ $route.fullPath }}</pre>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将路由器管理接口从端口80更改为端口81

来自分类Dev

如何通过代码导航到嵌套路由器

来自分类Dev

如何将数据从表格传递到路由器

来自分类Dev

如何将路由器放入路由器

来自分类Dev

如何通过点击反应路由器 v4 中的按钮在路径上导航?

来自分类Dev

更改路由器路径

来自分类Dev

更改路由器事件触发时的导航

来自分类Dev

单击链接时如何测试路由器是否导航到正确的组件

来自分类Dev

角度UI路由器缩小错误-如何将解析语法更改为基于字符串注入?

来自分类Dev

如何将浮动验证添加到Vue路由器路径?

来自分类Dev

Express,如何通过长URL路径来响应路由器?

来自分类Dev

将道具(数组)传递到路由器链接路径

来自分类Dev

流星/铁路由器-如何将值从RouteController传递到模板帮助器

来自分类Dev

铁路由器/流星-如何将数据从控制器传递到模板?

来自分类Dev

Yii2 如何将当前 Url 路由到当前项目根路径之外的控制器?

来自分类Dev

如何将 ui 路由器的 url 参数注入控制器

来自分类Dev

如何将React应用程序集成到Wordpress(反应路由器)中?

来自分类Dev

如何将状态从到达路由器传递到链接

来自分类Dev

如何将角度UI路由器的UI视图状态更改与CSS动画同步

来自分类Dev

滚动到顶部时如何将导航背景颜色更改为透明?

来自分类Dev

如何将Angular UI路由器配置为不使用严格的URL匹配模式

来自分类Dev

使用UI路由器进行分页时如何更改URL?

来自分类Dev

如何将wordpress中的下载URL路径更改为www.yoursite.com/download?

来自分类Dev

如何将 base_url() 路径从本地主机更改为托管站点?

来自分类Dev

apache/httpd 目录路径更改后如何将部分url从大写改为小写

来自分类Dev

qlpreviewcontroller 导航栏 - 如何将 pageCount 更改为 String

来自分类Dev

AngularJS:如何将路由主题标签#更改为#!

来自分类Dev

如何将路由器列表拆分为模块?

来自分类Dev

如何将状态传递给路由器组件?

Related 相关文章

  1. 1

    如何将路由器管理接口从端口80更改为端口81

  2. 2

    如何通过代码导航到嵌套路由器

  3. 3

    如何将数据从表格传递到路由器

  4. 4

    如何将路由器放入路由器

  5. 5

    如何通过点击反应路由器 v4 中的按钮在路径上导航?

  6. 6

    更改路由器路径

  7. 7

    更改路由器事件触发时的导航

  8. 8

    单击链接时如何测试路由器是否导航到正确的组件

  9. 9

    角度UI路由器缩小错误-如何将解析语法更改为基于字符串注入?

  10. 10

    如何将浮动验证添加到Vue路由器路径?

  11. 11

    Express,如何通过长URL路径来响应路由器?

  12. 12

    将道具(数组)传递到路由器链接路径

  13. 13

    流星/铁路由器-如何将值从RouteController传递到模板帮助器

  14. 14

    铁路由器/流星-如何将数据从控制器传递到模板?

  15. 15

    Yii2 如何将当前 Url 路由到当前项目根路径之外的控制器?

  16. 16

    如何将 ui 路由器的 url 参数注入控制器

  17. 17

    如何将React应用程序集成到Wordpress(反应路由器)中?

  18. 18

    如何将状态从到达路由器传递到链接

  19. 19

    如何将角度UI路由器的UI视图状态更改与CSS动画同步

  20. 20

    滚动到顶部时如何将导航背景颜色更改为透明?

  21. 21

    如何将Angular UI路由器配置为不使用严格的URL匹配模式

  22. 22

    使用UI路由器进行分页时如何更改URL?

  23. 23

    如何将wordpress中的下载URL路径更改为www.yoursite.com/download?

  24. 24

    如何将 base_url() 路径从本地主机更改为托管站点?

  25. 25

    apache/httpd 目录路径更改后如何将部分url从大写改为小写

  26. 26

    qlpreviewcontroller 导航栏 - 如何将 pageCount 更改为 String

  27. 27

    AngularJS:如何将路由主题标签#更改为#!

  28. 28

    如何将路由器列表拆分为模块?

  29. 29

    如何将状态传递给路由器组件?

热门标签

归档