zoukankan      html  css  js  c++  java
  • Vue路由实现页面跳转的两种方式(router-link和JS)

    Vue.js 路由可以通过不同的 URL 访问不同的内容,实现多视图的单页 Web 应用

    1、通过 <router-link> 实现

    <router-link> 组件用于设置一个导航链接,切换不同 HTML 内容

    使用方法:

    • 简单写法

    <router-link to="demo2">demo2</router-link>
    • 使用 v-bind 的写法

    <router-link :to="'demo2'">demo2</router-link>
    
    <!-- 也可以用{}包裹对应的path或name -->
    <router-link :to="{ name: 'demo2' }">demo2</router-link>
    • 传参的写法

    <router-link :to="{ name: 'demo2', params: { userId: 123 }}">demo2</router-link>

    这里传参需要在 router.js 中对 demo2 的路径进行配置,在 path 中 demo2 后添加通配符 : 和对应的 userId,如下:

    {
      path: '/demo2/:userId',
      name: 'demo2',
      component: demo2
    },

    配置完成后,页面跳转的结果就为 /demo2/123

    这里的“123”就是上面的 userId

    那么,如何在新页面中获取到传过来的参数 userId 呢?

    mounted 钩子中使用 this.$route.params.xx. 获取传过来的参数,如下:

    mounted () {
        alert(this.$route.params.userId)
    }
    
    // 弹出123
    • 传入地址键值对

    <router-link :to="{ path: 'demo2', query: { plan: 'private' }}">demo2</router-link>

    页面跳转的结果为 /demo2?plan=private

    (注意这里不用在 router.js 里配置路径)

    在新页面中获取到传过来的地址键值对 plan,可以在 mounted 钩子中使用 this.$route.plan.xx. 获取传过来的地址键值对,如下:

    mounted () {
      alert(this.$route.query.plan)
    }
    
    // 弹出private

    2、通过 JS 实现

    template 部分:

    <button @click="toURL">跳转页面</button>

    script 部分:

    (注意这里是 router,上面是 route)

    • 简单写法

    methods:{
      toURL(){
        this.$router.push({ path: '/demo2' })
      }
    }
    • 传参的写法

    methods:{
      toURL(){
        this.$router.push({ name: 'demo2', params: { userId: 123 }})
      }
    }
    • 传入地址键值对

    methods:{
      toURL(){
        this.$router.push({ name: 'demo2', params: { userId: 123 }, query: { plan: 'private' } })
      }
    }
  • 相关阅读:
    meta 标签禁止缩放失效
    [UE4]打包EXE
    [UE4]Set Array Elem
    [UML]用例图
    [UE4]函数参数引用
    阻止移动鼠标双击页面放大, no double tap
    spring boot入门 -- 介绍和第一个例子
    SpringBoot 启动错误搜集
    spring boot 启动找不到或无法加载主类
    Spring Boot中Starter是什么
  • 原文地址:https://www.cnblogs.com/Leophen/p/11265833.html
Copyright © 2011-2022 走看看