vue如何通过router-link或者button跳转到一个新的页面

目录
  • 通过router-link或者button跳转到一个新的页面
  • vue跳转到一个新的页面的多种方法
    • 1、router-link路由
    • 2、button按钮
    • 3、a链接

通过router-link或者button跳转到一个新的页面

a、商品列表页面如下(点击'跳转到购物车页面'就会跳到一个新的页面,而不是在同一个页面加载一个组件)

<template>
  <div>
    这是商品列表页面
    <router-link to='/goods/title'>显示商品标题</router-link>
    <router-link to='/goods/image'>显示商品图片</router-link>
    // 跳转到购物车页面
    <router-link to='/cart'>跳转到购物车页面</router-link>
     <button @click="jump">Button-跳转到购物车页面</button>
    <div>
        <router-view></router-view>
    </div>
  </div>
</template>
<script>
export default {
  data(){
    return{
      msg: ''
    }
  },
  methods: {
    jump(){
    //this.$router.push("/cart")
    //传递的参数用{{ $route.query.goodsId }}获取
    this.$router.push({path: '/cart?goodsId=12'})
    //this.$router.go(-2)
    //后退两步
    }
  }
}
</script>
 
<style>
</style>

b、通过<router-link>方法还需要修改路由文件src/router/index.js,其他方法不用看了

import Vue from 'vue'
import Router from 'vue-router'
import GoodsList from '@/views/GoodsList'
import Title from '@/views/Title'
import Image from '@/views/Image'
// 2、导入Cart组件
import Cart from '@/views/Cart'
 
Vue.use(Router)
 
export default new Router({
  mode: 'history',
  routes: [
    {
          path: '/goods',
          name: 'GoodsList',
          component: GoodsList,
          children: [
              {
                    path: 'title',
                  name: 'title',
                  component:Title    
              },
 
              {
                    path: 'image',
                  name: 'image',
                  component:Image    
              }
          ]
    },
    // 1、写入购物车组件
    {
        path: '/cart',
          component: Cart,
    }
  ]
})

vue跳转到一个新的页面的多种方法

通过router-link或者button或者a链接的方法

1、router-link路由

<router-link :to="{ path: '/a/b' }"
       // tag="button"  //作为一个按钮,样式得自己再写一下,不方便,请选用第二种方式
          >查看当前排名</router-link
        > 

其中/a/b为router路由的路径

2、button按钮

<el-button type="primary" icon="el-icon-search" @click="querySort"
          >查看当前排名</el-button
        >
querySort(){
this.$router.push({ path: "/a/b" });
}

3、a链接

<a :href="exportDistrict" rel="external nofollow"  class="filter-item el-button el-button--success"
          >导出游戏区服</a
        >
     data() { return{   exportDistrict: "/a/b",}}

选用哪种方式自己决定;

另:如果在方法中跳转一个页面,比如错误页,使用方法如下:

if (res.code === 1002) {
        //无权限统一处理
        loadPage("/error");
        return;
      }
      
// 跳转、重定向
const loadPage = (url, reject) => {
  if (reject) {
    return reject(url);
  }
  window.$$vm.$router.push(url);
};

main.js中:

window.$$vm = new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue跳转页面常用的4种方法与区别小结

    目录 1:router-link跳转 2:this.$router.push() 3. this.$router.replace() 4. this.$router.go(n) ps:区别 总结 vue跳转页面有好几种不同方法,下面将通过实例代码给大家介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下. 1:router-link跳转 1.不带参数 <router-link :to="{name:'home'}"> <router-link :to=

  • vue跳转页面打开新窗口,并携带与接收参数方式

    目录 1.携带普通类型参数 2.携带复杂类型参数 vue页面跳转并传参的八种方式 方法一 方法二 方法三 方法四 方法五 方法六 方法七 方法八 1.携带普通类型参数 字符串.数字等. path:要跳转新页面的路由链接 query:要携带的参数 let pathInfo = this.$router.resolve({   path:'/product_detail',      query:{          productId:'11'      }  })  window.open(pa

  • vue 点击按钮 路由跳转指定页面的实现方式

    目录 点击按钮 路由跳转指定页面 最终效果 vue跳转页面常用的方式 1:router-link跳转 2:this.$router.push() 3.this.$router.replace() 4.this.$router.go(n) ps : 区别 点击按钮 路由跳转指定页面 最终效果 点击指定按钮,跳转指定 /login 页面 代码: <button @click="gotolink" class="btn btn-success">点击跳转页面&

  • vue跳转页面的几种方法(推荐)

    vue跳转不同页面的多种方法 1:router-link跳转 <!-- 直接跳转 --> <router-link to='/testDemo'> <button>点击跳转2</button> </router-link> <!-- 带参数跳转 --> <router-link :to="{path:'testDemo',query:{setid:123456}}"> <button>点击跳

  • vue如何通过router-link或者button跳转到一个新的页面

    目录 通过router-link或者button跳转到一个新的页面 vue跳转到一个新的页面的多种方法 1.router-link路由 2.button按钮 3.a链接 通过router-link或者button跳转到一个新的页面 a.商品列表页面如下(点击'跳转到购物车页面'就会跳到一个新的页面,而不是在同一个页面加载一个组件) <template>   <div>     这是商品列表页面     <router-link to='/goods/title'>显示商

  • vue router 跳转时打开新页面的示例方法

    记录一下在vue项目中如何实现跳转到一个新页面(一个比较简单又比较基础的问题了),有两个方法: 1.<vue-link>标签实现新窗口打开 官方文档中说 v-link 指令被 <router-link> 组件指令替代,且 <router-link> 不支持 target="_blank" 属性,如果需要打开一个新窗口必须要用 <a> 标签,但事实上vue2版本的 <router-link> 是支持 target="_

  • vue-router跳转时打开新页面的两种方法

    最近还是在痛苦的挣扎中 挣扎吧 记录一下在vue项目中如何实现跳转到一个新页面(一个比较简单又比较基础的问题了),有两个方法: 1.<vue-link>标签实现新窗口打开 官方文档中说 v-link 指令被 <router-link> 组件指令替代,且 <router-link> 不支持 target="_blank" 属性,如果需要打开一个新窗口必须要用<a>标签,但事实上vue2版本的 <router-link> 是支持

  • Vue.js实战之利用vue-router实现跳转页面

    前言 使用 Vue.js 做项目的时候,一个页面是由多个组件构成的,所以在跳转页面的时候,并不适合用传统的 href,于是 vue-router 应运而生. 官方文档: https://router.vuejs.org/zh-cn/essentials/getting-started.html 这次的实例主要实现下图的效果: 项目结构: 一.配置 Router 用 vue-cli 创建的初始模板里面,并没有 vue-router,需要通过 npm 安装 cnpm i vue-router -D

  • Vue+Flask实现简单的登录验证跳转的示例代码

    本文介绍了Vue+Flask实现简单的登录验证跳转,分享给大家,具体如下: 文件位置: login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login</title> <script type="text/javascript" src="../sta

  • 实例讲解Vue.js中router传参

    Vue-router参数传递 为什么要在router中传递参数 设想一个场景,当前在主页中,你需要点击某一项查看该项的详细信息.那么此时就需要在主页传递该项的id到详情页,详情页通过id获取到详细信息. vue-router 参数传递的方式 Parma传参 贴代码: /router/index.vue export default new Router({ routes: [ { path: '/', name: 'Home', component: Home }, { path: '/work

  • vue 实现在函数中触发路由跳转的示例

    如下所示: <span @click="clickFn">点我</span> methods:{ clickFn:function(){ this.$router.go('/login');//其中login是你定义的一个路由模块 } 以上这篇vue 实现在函数中触发路由跳转的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解决vue.js this.$router.push无效的问题

    如下所示: login() { if(this.email.length > 0 && this.password.length >0) { this.$http.post('/api/login', { user: this.email, password: this.password }) .then(res => { let userPwd = res.data if(this.password == userPwd) { this.$router.push(&qu

  • vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法

    作为vue的初用者,你可能会像我一样遇到一个问题,对跳转组件是,我们想通过参数不同,调用不同的方法. 例如: app.vue <ul> <li class="navList" v-for="index in goods" :key="index.name"> <router-link :to="{path:index.link,query:{type:index.name}}" > {{in

  • Vue 中 a标签上href无法跳转的解决方式

    问题: 使用vue-router 在IE下 a标签里的路由不跳转,火狐,chrome工作正常. 解决: 在App.vue 里增加判断IE浏览器手动修复-- export default { name: 'App', mounted(){ function checkIE(){ return '-ms-scroll-limit' in document.documentElement.style && '-ms-ime-align' in document.documentElement.s

随机推荐