声明式导航和编程式导航

<!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" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <!--
    声明式导航用在直接渲染到页面
    编程式导航用于在js中处理逻辑后需要页面进行跳转

    声明式导航
    <router-link to="/url">

    声明式导航中的to怎么写,那么编程式导航中的参数就怎么写

    this.$router.push()

    this.$router其实就是router,vue为了方便我们在组件中使用router,才添加了this.$router

    this.$router.push()
      会进行页面跳转,同时会在历史记录上留下记录
    this.$router.replce()
      和push功能相同,但是会替换当前页出现在历史记录中

    this.$router.go(num)
      表示距离当前页的在历史记录上的页数

    this.$router.back()  返回到上一页
    this.$router.forward()   前进到下一页

    next中参数写法同push()
   -->
  <div id="app">
    <router-link to="/url"></router-link>
    <router-link :to="{path: ‘url‘}"></router-link>
    <!-- 如果想要携带query参数 -->
    <router-link to="/url?a=1"></router-link>
    <router-link :to="‘/url?a=‘ + a"></router-link>
    <router-link :to="{path: ‘/url‘, query: {a: 1}}"></router-link>
    <router-link :to="{name: ‘u‘, params: {id: 1}}"></router-link>
    <button @click="handler">按钮</button>
  </div>
  <script src="../vue.js"></script>
  <script src="../vue-router.js"></script>
  <script>
    const routes = [
      {
        name: ‘u‘,
        path: ‘/u/:id‘
      }
    ]
    const router = new VueRouter({
      routes
    })
    const app = new Vue({
      el: ‘#app‘,
      router,
      data: {
        a: 1
      },
      methods: {
        handler () {
          // this.$router.push({path: ‘/a‘, query: {a: 1}})
          this.$router.push({name: ‘u‘, params: {id: 1}})
          // router.push(‘/‘)
        }
      }
    })

  </script>
</body>
</html>

原文地址:https://www.cnblogs.com/bao2333/p/10170692.html

时间: 2024-09-29 22:08:41

声明式导航和编程式导航的相关文章

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

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

Spring源码阅读:Spring声明式事务处理和编程式事务处理的设计与实现

之前的学习,了解了Spring事务管理的基础框架(查看).Spring在此基础上又提到了声明式事务管理和编程式事务管理.这里就来看看Spring是如何实现的. Spring声明式事务与EJB事务管理对比 Spring的声明式管理,类似于EJB的CMT,但又有不同.他们的不同之处有: 1)EJB的CMT是与JTA结合使用,而Spring框架的声明式事务管理可以在任何环境下工作.既可以使用全局事务管理,如JTA,也可以使用局部事务管理如JDBCJPA.Hibernate.JDO等. 2)可以在任何类

声明式事务和编程式事务

声明式事务:在配置文件中将事务配置好,通过bean的方式,调用Spring的事务,在程序中不需要做代码性的事务管理,例如commit,backroll等. 编程式事务:需要在代码中加入处理事务的逻辑,可能需要在代码中显示调用beginTransaction(),commit(),rollback()等事务相关的方法,例如在执行a方法时候需要事务处理,需要在a方法开始时候开启事务,处理完后.在方法结束时候,关闭事务. 事务都是为了保证数据的一致和完整,保证整个操作的原子性(即不可分割性,事务要么全

Vue程序化导航---又称编程式导航

当然还可以这样: 1>this.$router.push('/home/newsinfo'+id)=====>这是router中写的path; 2>this.$router.push({path:'/home/newsinfo'+id});=======>传递对象 3>this.$router.push({name:'newsinfo',params:{id:id}})====>传递路由,就是图片上那种形式 那么路由中如何接收呢? 原文地址:https://www.cn

编程式导航和声明式导航

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

五、Vue Router 编程式导航

编程式导航 除了使用<router-link>声明式创建a标签来定义导航链接,还可以借助router的实例方法来跳转导航,这种通过编写JS代码来实现的方式叫编程式导航. router.push(location, onComplete?, onAbort?) 在Vue实例内部,通过$router访问路由实例.可以使用this.$router.push()方法来跳转导航.这个方法会向history栈添加一个新的记录.当点击浏览器后退按钮时,则回到之前的URL. 点击声明式<router-l

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

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

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

第11节:编程式导航

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