当前位置:首页 > 数字货币资讯 > 正文内容

vue3+uni-app路由传参_vue3 路由传参

xytest2022-11-23 00:14数字货币资讯405

vue3+uni-app路由传参_vue3 路由传参

最近有很多小伙伴咨询关于vue3+uni-app路由传参的问题,小编结合多年的经验整理出来一些vue3 路由传参对应的资料,分享给大家。

vue之路由传参,跳转,钩子函数

一.路由传参的三种方式

方式一:query的方式进行,通过添加?的方式传参

App页面配置:

childa页面配置:

方式二:通过id的方式传参,用到params

App页面配置:

childb页面配置:

index.js配置:

方式三:通过props:['id']的方式进行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路由传参刷新无数据怎么处理?

可以使用keep-alive缓存页面:具体做法是:可在App.vue中

keep-alive :include="includePages"

router-view id="app"/router-view

/keep-alive

includePages:对应一个数组,里面是要缓存的页面的name,即是.VUE文件中:

export default {

name: 'xxx',

这里的XXX

vue-router怎么给子路由传参

路由传参数。在很多时候我们需要路由上面传递参数,比如新闻列表页,我们需要传递新闻ID,给新闻详细页。

1.新闻列表页模板

template id="news"

div

h2新闻列表/h2

ul

li

router-link to="/news/001"新闻001/router-link

/li

li

router-link to="/news/002"新闻002/router-link

/li

/ul

/div

/template1234567891011121312345678910111213

我们访问/news/001,跳转到新闻详细页,展示001的这条新闻。

2.新闻详细页组件准备

template id="NewsDetail"

div

新闻详细页面

span{{$route.params.id}}/span

/div

/template123456123456

$route.params.id获取路由上的参数

在js里定义路由组件:

//新闻详细页组件

const NewsDetail = { template: '#NewsDetail' };1212

3.定义路由,增加一个路由

{ path: '/news/:id', component: NewsDetail },11

访问/news/001或者/news/002就展示新闻详细页

4.全部代码如下:

!DOCTYPE html

html

head

title/title

meta charset="utf-8"

script src=""/script

script src=""/script

/head

body

div id="box"

p

router-link to="/home"home/router-link

router-link to="/news"news/router-link

/p

router-view/router-view

/div

!-- 模板抽离出来 --

template id="home"

!-- 注意:组件只能有一个根元素,所以我们包装到这个div中 --

div

h2首页/h2

router-link to="/home/login"登录/router-link

router-link to="/home/reg"注册/router-link

!-- 路由匹配到的组件将渲染在这里 --

router-view/router-view

/div

/template

template id="news"

div

h2新闻列表/h2

ul

li

router-link to="/news/001"新闻001/router-link

/li

li

router-link to="/news/002"新闻002/router-link

/li

/ul

/div

/template

template id="login"

div登录界面/div

/template

template id="reg"

div注册界面/div

/template

template id="NewsDetail"

div

新闻详细页面

span{{$route.params.id}}/span

/div

/template

script type="text/javascript"

// 1. 定义(路由)组件。

const Home = { template: '#home' };

const News = { template: '#news' };

const Login = { template: '#login' };

const Reg = { template: '#reg' };

//新闻详细页组件

const NewsDetail = { template: '#NewsDetail' };

// 2. 定义路由

const routes = [

{ path: '/', redirect: '/home' },

{

path: '/home',

component: Home,

children:[

{ path: '/home/login', component: Login},

{ path: '/home/reg', component: Reg}

]

},

{ path: '/news', component: News,},

{ path: '/news/:id', component: NewsDetail },

]

// 3. 创建 router 实例,然后传 `routes` 配置

const router = new VueRouter({

routes // (缩写)相当于 routes: routes

})

// 4. 创建和挂载根实例。

// 记得要通过 router 配置参数注入路由,

// 从而让整个应用都有路由功能

const app = new Vue({

router

}).$mount('#box')

// 现在,应用已经启动了!

/script

/body

/html

uniapp页面参数传递

链接传递 或者事件传递

1、要传递参数的页面

2、接收的页面

事件传递多个参数,传递数组用事件来传递,因为要先转成字符串

1、在页面中定义要传递

点击传递数据

添加一个事件

2、接收的页面

这里一定onLoad ,只能用onLoad才能接收到参数

三、Uni-app + vue3 页面如何跳转及传参?

Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?

不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。

uni-app 页面路由为框架统一管理的,我们需要在 page.json 文件里配置每个页面路由以及页面样式,有些类似小程序中的 app.json 文件,所以 uni-app 的路由用法和写法与 vue-router 不同。

项目初始化完成,对应的 page.json 文件为:

uni-app 通过 pages 节点配置应用都有哪些页面,接收一个数组,每个元素都是一个对象,属性有:

uni-app 页面路由跳转有两种方式:使用 navigator 组件跳转、调用API 跳转。

1、navigator组件跳转

类似于 a 标签,但是只能跳转到本地页面,目标页面必须在 page.json 中注册。

navigator 属性有:

open-type 有效值

2、uni-app API 跳转

使用 API 页面跳转方式有:

框架以栈的形式管理当前所有页面, 当发生路由切换的时候,页面栈的表现如下:

方式1:onLoad 接收

方式2:setup语法糖接收

onLoad 函数是监听页面加载,接收的参数是页面传递的数据,是一个 object 类型。

看到这,相信很快就能上手 uni-app + vue3 项目路由喽,也可以参考官网教程:

只要你仔细阅读了上述,那么你就已经了解了vue3 路由传参的相关知识,如果屏幕面前的你还有什么对vue3+uni-app路由传参好的建议和想法,欢迎各位再下面评论区评论出来,我们将及时回复。

分享给朋友:

相关文章

GNT币有哪些优点具体解答和GNT是什么币细致分析

GNT币有哪些优点具体解答和GNT是什么币细致分析

作为虚拟币行业人士而言,我们经常都会说到GNT币有哪些优点时有很多细节是需要注意的。你知道GNT是什么币?今天就让小编跟你们说说吧! 是什么货币 货币 CCY(Currency)是购买货物、保存...

加密货币税收政策有哪些(虚拟货币税收政策分类以及意义)

加密货币税收政策有哪些(虚拟货币税收政策分类以及意义)

大家好,现如今随着加密货币的越来越普及,越来越多的人开始投资和进行交易。然而,与传统资产不同,加密货币的税收政策可能会让人感到困惑。本篇文章小编将给大家介绍加密货币税收的最新政策,以帮助读者更好地理解...

亚里安(亚里安剧场版)

亚里安(亚里安剧场版)

币圈网拥有多年的区块链服务经验,为用户提供专业的服务信息,接下来介绍亚里安,以及亚里安剧场版,选择币圈网可以为您随时随地解决玩币中所遇到的各种问题,让你不再为职称评级繁琐事务而烦恼。 本文目录:...

三大社区驱动的加密货币:狗狗币和猿币

三大社区驱动的加密货币:狗狗币和猿币

1、我们不能从区块链生态系统中夺走社区。 有些代币是为社区而设计的,它们可以被标记为社区代币。 社区驱动的代币是通往社区的门户。 它们用于鼓励参与并推动生态系统内项目的炒作。 2、让我们来看看三个顶...

下载欧意交易软件v6.1.58_欧意最新版下载

下载欧意交易软件v6.1.58_欧意最新版下载

下载欧意交易软件v6.1.58最新版到手机主页,用户可以随时查看更多币圈最新资讯,最近流行的比特币狗狗币虚拟货币等,在这里都可以支持交易,每天会给用户推送最新货币行情和资讯,用户可以自定义监控币价预警...