五、Vue Router 编程式导航

编程式导航

除了使用<router-link>声明式创建a标签来定义导航链接,还可以借助router的实例方法来跳转导航,这种通过编写JS代码来实现的方式叫编程式导航。

router.push(location, onComplete?, onAbort?)

Vue实例内部,通过$router访问路由实例。可以使用this.$router.push()方法来跳转导航。这个方法会向history栈添加一个新的记录。当点击浏览器后退按钮时,则回到之前的URL

点击声明式<router-link to="">时,等同于调用了router.push(...)

<script>
    // 参数:可以是一个字符串,也可以是一个描述地址的对象
    router.push('home');
    router.push({ path: 'home' });
    // 带查询参数 /register?plan=private
    router.push({ path: 'register', query: { plan: 'private' }});
    // 命名的路由  /user/123
    router.push({ name: 'user', params: { userId: '123' }});
    // 模板字符串的形式拼接 /user/123
    const userId = 123;
    router.push({ path: `/user/${userId}` });
    // 注意:提供了path,则会忽略 params
    router.push({ path: '/user', params: { userId }}); // /user
</script>

router.replace(location, onComplete?, onAbort?)

替换掉当前的history记录 <router-link :to="..." replace>

router.go(n)

参数为整数,意思是在history记录中向前或者后退多少步,类似window.history.go(n)

// 前进一步,等同于 router.forward() / history.forward()
router.go(1);

// 后退一步记录,等同于 router.back() / history.back()
router.go(-1)
// n 为正则前进,为负则后退。超过边界则失败。

router.forward()

浏览器历史记录前进一步

router.back()

浏览器历史记录后退一步

原文地址:https://www.cnblogs.com/yuxi2018/p/11967268.html

时间: 2024-10-03 02:12:46

五、Vue Router 编程式导航的相关文章

Vue路由编程式导航以及hash模式

import Vue from 'vue'; import App from './App.vue'; //引入公共的scss 注意:创建项目的时候必须用scss import './assets/css/basic.scss'; //请求数据 import VueResource from 'vue-resource'; Vue.use(VueResource); import VueRouter from 'vue-router'; Vue.use(VueRouter); //1.创建组件

VueRouter爬坑第四篇-命名路由、编程式导航

VueRouter系列的文章示例编写时,项目是使用vue-cli脚手架搭建. 项目搭建的步骤和项目目录专门写了一篇文章:点击这里进行传送 后续VueRouter系列的文章的示例编写均基于该项目环境.  VueRouter系列文章链接 <VueRouter爬坑第一篇-简单实践> <VueRouter爬坑第二篇-动态路由> <VueRouter爬坑第三篇-嵌套路由> <VueRouter爬坑第四篇-命名路由.编程式导航>  阅读目录 一.前言 二.命名路由 三.

[vue]声明式导航和编程式导航

声明式导航和编程式导航 共同点: 都能进行导航,都可以触发路由,实现组件切换 区别: 写法不一样,声明式导航是写在组件的template中,通过router-link来触发,编程式导航写在js函数中,通过this.$router.push(xxx)来触发路径 $route&&$router 共同点: 都是属于vue-roouter 区别: $route: 获取路径中的参数,还可以通过watch观测路径的变化 $router: 编程式导 https://www.cnblogs.com/zhu

vue编程式导航,命名路由

//使用 window.location.href 的形式,叫做 编程式导航 绑定事件的形式 <template> <div class="goods-item" v-for="item in goodslist" :key="item.id" @click="goDetail(item.id)"> </div> </template> </script> expor

第11节:编程式导航

原文网址:http://jspang.com/2017/04/13/vue-router/ 这是这篇文章的最后一节,前10节课的导航都是用<router-link>标签或者直接操作地址栏的形式完成的,那如果在业务逻辑代码中需要跳转页面我们如何操作?这就是我们要说的编程式导航,顾名思义,就是在业务逻辑代码中实现导航. this.$router.go(-1) 和 this.$router.go(1) 这两个编程式导航的意思是后退和前进,功能跟我们浏览器上的后退和前进按钮一样,这在业务逻辑中经常用到

声明式导航和编程式导航

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

14.前端路由router-04编程式导航

实例化Vue和router 路由对象和匹配方式 编程式导航: 实现方式:点击button,激活事件,path改变,路由匹配到引入模板 原文地址:https://www.cnblogs.com/sunny666/p/11113336.html

编程式导航和声明式导航

编程式导航和声明式导航 编程式跳转:用于在js中处理逻辑后需要页面进行跳转 vue的路由我们可以看做是一个数组,每次添加一个页面可以看成是向数组中push一个地址,当点击返回时就是向数组中的上一个值查找. 编程式跳转其实就是调用:this.$router.push( ) 在li 标签中加入点击函数@click="goDetail(item.id)" <!-- 编程式跳转 -->    <li class="proitem" v-for="

11.vue-router编程式导航

页面导航的两种方式 声明式导航:通过点击链接实现导航的方式,叫做声明式导航 例如:普通网页中的链接或vue中的 编程式导航:通过调用JavaScrip形式的API实现导航的方式,叫做编程式导航 例如:普通网页中的location.href 1.编程式导航基本用法 常用的编程式导航API如下: this.$router.push ('hash地址') this.$router.go (n) const User = { template: '<div><button @click= &qu