vue跳转页面的几种方法(Vue路由的页面跳转打开新页面) |
您所在的位置:网站首页 › post打开新页面 › vue跳转页面的几种方法(Vue路由的页面跳转打开新页面) |
本文目录Vue路由的页面跳转打开新页面[vue-router4快速入门] 1.页面跳转的两种方式Vue-(10)页面跳转-传值vue中利用a标签进行页面跳转,怎样做才能跳转呢vue 路由四种方式 (带参数)跳转vue之路由传参,跳转,钩子函数vue中el-link为什么跳转不了页面vue实现跳转浏览器新的标签页vue页面跳转Vue路由的页面跳转打开新页面 效果与a标签的target=_blank是一样的,只不过不用点击,直接打开 1、在router.js里新加一个路由 { path: ’/previewFile’, name: ’previewFile’, meta: { title: ’预览文件’, hideInMenu: true }, component: () =》 import(’@/view/audits/coms/previewFile.vue’) }, 2、在需要跳转的逻辑方法里加,这里必须用query,否则参数获取不到,亲测有效 const { href } = this.$router.resolve({ path: `/previewFile`, query:{url:res.data.Url} }); window.open(href, ’_blank’); 3、跳转页获取参数:let url=this.$route.query.url; [vue-router4快速入门] 1.页面跳转的两种方式在上节课我们配置了两个页面,一个首页/一个列表页/list,现在我们要查看这两个页面只能通过在浏览器地址栏里输入url,这节课我们就来学习一下如何实现页面的跳转 router-link是vue-router自带的一个组件,表示一个链接元素,和原生的a标签非常像,比如我们在首页里增加一个router-link,点击后跳转到列表页 在router-link里有一个to属性,表示点击后要跳转的页面,跟a标签的href属性一样, 页面效果是这样的 其实它本来也被渲染成了一个a标签 这是最简单的router-link的使用,以后我们会介绍它的其他功能 用router-link还是不够灵活,比如我们点击一个按钮时,先要做一些别的事,比如向后台上传数据,再跳转页面,这时候我们用js去控制跳转页面就灵活多了 我们增加一个按钮,给它绑定一个点击事件 在点击回到事件里,我们有this.$router,获取到了路由对象,调用了它的push方法,参数就是我们要跳转的页面的路由,点击后页面就跳转了 这节课的逻辑很简单,主要是大家要把这两种跳转方式的写法记住,动手写一写,记得更快。 Vue-(10)页面跳转-传值Vue 页面跳转,一般用 vue-router 来做。 在我们创建 Vue 项目框架时,在配置文件 package.json 里面一般都有默认添加的依赖库。 我们只要创建好 Vue 项目,其他的不用管了,直接用 vue-router 来实现页面跳转-传值。 在页面 HelloWord.vue 点击按钮,跳转到页面 textVue.vue ,并且传值 一,创建两页面,跳转-传值 1,这里我们用 Vue 框架自带的页面 HelloWord.vue ,然后自己创建一个页面 textVue.vue ,并且放在一个文件下 componebts ,当然文件位置可以改变,为了图简单。 2, HelloWord.vue 页面,添加点击跳转-传值事件 两种方法 @click 方法和 router-link 方法。 在 HelloWord.vue 页面, @click 方法 在 HelloWord.vue 页面, router-link 方法` 3, textVue 页面,添加接受事件和展示传递的值 获取传递的值 展示传递的值 二,在 router 文件夹的 index 文件下,配置好页面路径 最终效果图如下: 注释:1,当新建 Vue 文件,不在文件下,在其他文件夹的时候,那么在 router 文件夹的 index 文件如下。 注释:2,全局视图 vue中利用a标签进行页面跳转,怎样做才能跳转呢方式一: 《router-link :to=“’/jump?type=1’“》 《p id=“jump“》跳转《/p》 《/router-link》 方式二: jump(){ this.$router.push({ name:“jump“ }) } 扩展资料Vue 中 路由有两种不同的模式 hash 模式 (默认模式) 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。 hisotry 模式 history模式是基于最新的HTML5里面history相关的api进行的一些操作。不过这种模式要玩好,还需要后台配置支持不然会出现404找不到页面这种问题。history模式时,重定向会有些问题,需要页面的名字叫index.html才行。history模式只能兼容到IE10及以上。 vue 路由四种方式 (带参数)跳转replace和push区别: router.push(location) 会向 history 栈添加一个新的记录,当用户点击浏览器后退按钮时,则回到之前的 URL。 router.replace(location) ,replace 属性(默认值: false),它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。 注意:获取路由上面的参数,用的是$route,后面没有r params是路由的一部分,必须要有。query是拼接在url后面的参数,没有也没关系。 params一旦设置在路由,params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。 params、query不设置也可以传参,但是params不设置的时候,刷新页面或者返回参数会丢失。 两者都可以传递参数,区别是什么? query 传参配置的是path,而params传参配置的是name,在params中配置path无效 query在路由配置不需要设置参数,而params必须设置 query传递的参数会显示在地址栏中 params传参刷新会无效,但是query会保存传递过来的值,刷新不变 vue之路由传参,跳转,钩子函数一.路由传参的三种方式 方式一:query的方式进行,通过添加?的方式传参 App页面配置: childa页面配置: 方式二:通过id的方式传参,用到params App页面配置: childb页面配置: index.js配置: 方式三:通过props:的方式进行id方式的传参,不需要用到params app页面配置和上面id一样 childb页面配置: index.js页面: 二.路由的跳转 1.使用push的两种方式进行跳转指定页面 2.添加一级路由: (1)写一个按钮,然后写个方法,执行方法后进行路由的添加 (2)写好要跳转的页面 3.添加二级路由: (1)写一个按钮,然后写个方法,执行方法后进行路由的添加 (2)写好要跳转的页面 三,路由的钩子函数(全局和局部)在router的index.js里配置 1.全局路由守卫,每次路由跳转都会执行一遍 router.beforeEach((to,from,next)=》{ next()//这个必须写 }) to:表示要去的路由,from:表示之前的路由,next:必须要执行的函数,next表示跳转方法 2.监听全局路由离开时触发的钩子函数 没有next() router.afterEach((to,from)=》{ }) 3.局部路由钩子函数 局部的路由钩子进入路由的时候触发 因为同一个路径参数不同或者是动态路由,不会触发beforeEnter beforeEnter:(to,from,next)=》{ next()} vue中el-link为什么跳转不了页面注册的路由中含有错误文件路径。前端路由跳转含有错误文件路径,找不到需要跳转的页面。vue中el-link可以使用下面两种方式跳转。1.链接式跳转,在跳转的地方直接引用。2.函数式跳转,对象进行跳转后读取和接收参数。 vue实现跳转浏览器新的标签页一般单页面应用,vue都是通过vue-router来做跳转(this. router.replace),不会像多页应用一样另起新标签页面显示(注:不是打开新的浏览器页面)。要想实现,可以用以下方式: 优点:此方式,可以把sessionStorage 中的token一起带过去。 缺点:在新标签页和旧标签页,组件之间方法调用会失效 只要将vue-router和windwow.open结合就好了。原理很简单,获取到需要跳转的地址,再把地址传递给window.open。 window.open会新建窗口打开路由地址,原页面的路由不做跳转。 vue页面跳转跳转: 1、直接跳转 《router-link to=“/detail/one“》link跳转 《/router-link》 2、携带参数跳转 《router-link :to=“{path:’/detail/two’, query:{id:1,name:’vue’}}“》link跳转 《/router-link》 3、打开新窗口跳转 《router-link :to=“{path:’/detail/three’, query:{id:1,name:’vue’}}“ target=“_blank“》link跳转《/router-link》 获取参数: id = this.$route.query.id 1、path query 跳转: this.$router.push({path: “/detail“, query: {id: e}}) 获取参数: id = this.$route.query.id 2、name params 跳转: this.$router.push({name: “/detail“, params: {id: e}}) 获取参数: id = this.$route.params.id 跳转: const new = this.$router.resolve({name: ’/detail’, params: {id: e}}) 或 const new = this.$router.resolve({path: ’/detail’, query: {id: e}}) window.open(new.href,’_blank’) 获取参数: id = this.$route.params.id 或 id = this.$route.query.id |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |