Vue Vue-route (4)

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue-route 编程式导航和几种路由

 

目录

编程式导航 

详情组件

创建组件

设置路由

电影列表

传参

另一种方式

动态路由

命名路由

别名

总结


编程式导航 

点击电影列表 跳转电影详情

详情组件

创建组件

在views中创建DetailView.vue组件页面。

示例如下:

设置路由

在router/index.js中引入详情页面并设置详情路由。

示例如下:

import Detail from '@/views/DetailView'Vue.use(VueRouter) // 注册路由插件// 配置表
const routes = [{path: '/films',name: 'films',component: Films,children: [{path: '/films/nowplaying',component: NowPlaying},{path: '/films/comingsoon',component: ComingSoon},{path: '/films',redirect: '/films/nowplaying'}]},{path: '/detail',name: 'detail',component: Detail},

 

电影列表

在films/NowPlaying.vue页面渲染电影列表。

示例如下:

<template><div>nowplaying<ul><li v-for="data in datalist" :key="data"><router-link to="/detail">{{data}}</router-link></li></ul></div>
</template>
<script>
export default {data () {return {datalist: ['春眠不觉晓', '处处闻啼鸟', '夜来风雨声', '花落知多少']}}
}
</script>
传参

设置跳转,使用编程式导航。

示例如下:

<template><div>nowplaying<ul><!-- <li v-for="data in datalist" :key="data"><router-link to="/detail">{{data}}</router-link></li> --><li v-for="data in datalist" :key="data" @click="handleChangePage()">{{data}}</li></ul></div>
</template>
<script>
export default {data () {return {datalist: ['春眠不觉晓', '处处闻啼鸟', '夜来风雨声', '花落知多少']}},methods: {handleChangePage () {// 编程式导航location.href = '#/detail'}}
}
</script>
另一种方式

另一种方式实现跳转。示例如下:

methods: {handleChangePage () {// 编程式导航// location.href = '#/detail'this.$router.push('/detail')}}

 

动态路由

列表项有很多,但详情只有一个,需要根据选择id,渲染相应详情。

所以需要传递相应id,故在连接中增加id参数。

示例如下:

<template><div>nowplaying<ul><!-- <li v-for="data in datalist" :key="data"><router-link to="/detail">{{data}}</router-link></li> --><li v-for="data in datalist" :key="data" @click="handleChangePage(data)">{{data}}</li></ul></div>
</template>
<script>
export default {data () {return {datalist: ['春眠不觉晓', '处处闻啼鸟', '夜来风雨声', '花落知多少']}},methods: {handleChangePage (id) {// 编程式导航// location.href = '#/detail'this.$router.push(`/detail/${id}`)}}
}
</script>

 

动态路由配置

在router/index.js中修改原有的详情路由。

示例如下:

{path: '/detail/:myid', // 动态路由name: 'detail',component: Detail}

接收参数

在详情组件内获取参数。

通过生命周期中的created函数在组件创建时获取参数。

示例如下:

控制台查看打印结果

 

修改获取参数

示例如下:

<script>export default {created () {// 当前匹配的路由console.log('created', this.$route.params.myid)// axios 利用 id发请求到详情接口,获取详情数据,布局页面}
}
</script>

 

命名路由

对路由进行命名,就可以通过命名路由直接跳转。

{path: '/detail/:id', // 动态路由name: 'detail', // 命名路由component: Detail},

命名路由跳转

      // 1 通过路径跳转this.$router.push(`/detail/${id}`)// 2 通过命名路由跳转this.$router.push({name: 'detail',params: {id}})

别名

路由a别名是b,当用户访问b时,URL会保持为b,但是路由匹配则为a,

就像用户访问a一样。

路由配置,示例如下:

{path: '/cinemas',name: 'cinemas',alias: '/ci',component: Cinemas}

“别名”的功能让你可以自由地将UI结构映射到任意的URL,

而不是受限于配置的嵌套路由结构。

总结

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue-route 编程式导航和几种路由

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90723.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

存在两个cuda环境,在conda中切换到另一个

进入 openmmlab 环境 conda activate openmmlab 设置环境变量为 CUDA 12.4&#xff08;只影响当前 shell 会话&#xff09; export PATH/usr/local/cuda-12.4/bin:PATHexportLDLIBRARYPATH/usr/local/cuda−12.4/lib64:PATH export LD_LIBRARY_PATH/usr/local/cuda-12.4/lib64:…

Django 视图(View)

1. 视图简介 视图负责接收 web 请求并返回 web 响应。视图就是一个 python 函数,被定义在 views.py 中。响应可以是一张网页的 HTML 内容、一个重定向、一个 404 错误等等。响应处理过程如下图: 用户在浏览器中输入网址:www.demo.com/1/100Django 获取网址信息,去除域名和端…

HarmonyOS基础概念

一、OpenHarmony、HarmonyOS和Harmony NEXT区别OpenHarmony是由开放原子开源基金会&#xff08;OpenAtom Foundation&#xff09;孵化及运营的开源项目&#xff0c;开放原子开源基金会由华为、阿里、腾讯、百度、浪潮、招商银行、360等十家互联网企业共同发起组建。目标是面向全…

spark3 streaming 读kafka写es

1. 代码 package data_import import org.apache.spark.sql.{DataFrame, Row, SparkSession, SaveMode} import org.apache.spark.sql.types.{ArrayType, DoubleType, LongType, StringType, StructField, StructType, TimestampType} import org.apache.spark.sql.functions._…

【跟着PMP学习项目管理】每日一练 - 3

1、你是一个建筑项目的项目经理。电工已经开始铺设路线,此时客户带着一个变更请求来找你。他需要增加插座,你认为这会增加相关工作的成本。你要做的第一件事? A、拒绝做出变更,因为这会增加项目的成本并超出预算 B、参考项目管理计划,查看是否应当处理这个变更 C、查阅…

CentOS 安装 JDK+ NGINX+ Tomcat + Redis + MySQL搭建项目环境

目录第一步&#xff1a;安装JDK 1.8方法 1&#xff1a;安装 Oracle JDK 1.8方法 2&#xff1a;安装 OpenJDK 1.8第二步&#xff1a;使用yum安装NGINX第三步&#xff1a;安装Tomcat第四步&#xff1a;安装Redis第五步&#xff1a;安装MySQL第六步&#xff1a;MySQL版本兼容性问题…

如何设计一个登录管理系统:单点登录系统架构设计

关键词&#xff1a;如何设计一个登录管理系统、登录系统架构、用户认证、系统安全设计 &#x1f4cb; 目录 开篇&#xff1a;为什么登录系统这么重要&#xff1f;整体架构设计核心功能模块安全设计要点技术实现细节性能优化策略总结与展望 开篇&#xff1a;为什么登录系统这么…

论迹不论心

2025年7月11日&#xff0c;16~26℃&#xff0c;阴 紧急不紧急重要 备考ing 备课不重要 遇见&#xff1a;免费人格测试 | 16Personalities&#xff0c;下面是我的结果 INFJ分析与优化建议 User: Anonymous (隐藏) Created: 2025/7/11 23:38 Updated: 2025/7/11 23:43 Exported:…

【面板数据】省级泰尔指数及城乡收入差距测算(1990-2024年)

对中国各地区1990-2024年的泰尔指数、城乡收入差距进行测算。本文参考龙海明等&#xff08;2015&#xff09;&#xff0c;程名望、张家平&#xff08;2019&#xff09;的做法&#xff0c;采用泰尔指数测算城乡收入差距。参考陈斌开、林毅夫&#xff08;2013&#xff09;的做法&…

http get和http post的区别

HTTP GET 和 HTTP POST 是两种最常用的 HTTP 请求方法&#xff0c;它们在用途、数据传输方式、安全性等方面存在显著差异。以下是它们的主要区别&#xff1a;1. 用途GET&#xff1a;主要用于请求从服务器获取资源&#xff0c;比如获取网页内容、查询数据库等。GET 请求不应该用…

I2C集成电路总线

&#xff08;摘要&#xff1a;空闲时&#xff0c;时钟线数据线都是高电平&#xff0c;主机发送数据前&#xff0c;要在时钟为高电平时&#xff0c;把数据线从高电平拉低&#xff0c;数据发送采取高位先行&#xff0c;时钟线低电平时可以修改数据线&#xff0c;时钟线高电平时要…

为了安全应该使用非root用户启动nginx

nginx基线安全&#xff0c;修复步骤。主要是由于使用了root用户启动nginx。为了安全应该使用非root用户启动nginx一、检查项和问题检查项分类检查项名称身份鉴别检查是否配置Nginx账号锁定策略。服务配置检查Nginx进程启动账号。服务配置Nginx后端服务指定的Header隐藏状态服务…

论文解析篇 | YOLOv12:以注意力机制为核心的实时目标检测算法

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。长期以来&#xff0c;改进YOLO框架的网络架构一直至关重要&#xff0c;但尽管注意力机制在建模能力方面已被证明具有优越性&#xff0c;相关改进仍主要集中在基于卷积神经网络&#xff08;CNN&#xff09;的方法上。这是因…

学习C++、QT---20(C++的常用的4种信号与槽、自定义信号与槽的讲解)

每日一言相信自己&#xff0c;你比想象中更接近成功&#xff0c;继续勇往直前吧&#xff01;那么我们开始用这4种方法进行信号与槽的通信第一种信号与槽的绑定方式我们将按键右键后转到槽会自动跳转到这个widget.h文件里面并自动生成了定义&#xff0c;我们要记住我们这个按钮叫…

Anolis OS 23 架构支持家族新成员:Anolis OS 23.3 版本及 RISC-V 预览版发布

自 Anolis OS 23 版本发布之始&#xff0c;龙蜥社区就一直致力于探索同源异构的发行版能力&#xff0c;从 Anolis OS 23.1 版本支持龙芯架构同源异构开始&#xff0c;社区就在持续不断地寻找更多的异构可能性。 RISC-V 作为开放、模块化、可扩展的指令集架构&#xff0c;正成为…

4万亿英伟达,凭什么?

CUDA正是英伟达所有神话的起点。它不是一个产品&#xff0c;而是一个生态系统。当越多的开发者使用CUDA&#xff0c;就会催生越多的基于CUDA的应用程序和框架&#xff1b;这些杀手级应用又会吸引更多的用户和开发者投身于CUDA生态。这个正向飞轮一旦转动起来&#xff0c;其产生…

Unity3D iOS闪退问题解决方案

前言 在Unity3D开发中解决iOS闪退问题需要系统性排查&#xff0c;以下是关键步骤和解决方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀&#xff01; 1. 获取崩溃日志&#xff08;关键第一步&#xff…

嵌入式八股文之 GPIO

1. GPIO 的基本概念(1) 什么是 GPIO&#xff1f;GPIO 的中文意思是通用输入输出端口&#xff08;General Purpose Input/Output&#xff09;&#xff0c;是嵌入式系统中可编程控制的通用引脚&#xff0c;可通过软件配置为输入或输出模式。&#xff08;背诵&#xff09;(2) 它的…

Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)

前置博客&#xff1a;Ubuntu-Server 22.04.4 详细安装图文教程 wget命令在windows终端下不能使用的原因及解决办法 在 Ubuntu 22.04 LTS 上离线安装 Docker 手把手教你在Win11下安装docker Umi-OCR 安装docker时报错&#xff1a;workstation服务启动报错。错误1075&#…

力扣242.有效的字母异位词

给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的 字母异位词。示例 1:输入: s "anagram", t "nagaram" 输出: true示例 2:输入: s "rat", t "car" 输出: false提示:1 < s.length, t.length < 5 * 104s…