当前位置: 首页 > article >正文

电影系统1-MovieStrip.vue

那么slot在这的作用到底是让父组件在子组件插入内容还是复用呢

一个超大div包含两个div

        <a :href="`/movie/info/${movie.id}`">
为什么地址不直接是${movie.id}呢,movie/info/这个地址从何而来呢?

1.定义路由,以便在不同的页面或组件之间进行导航。路由配置通常通过设定路径和相应的组件来定义应用程序的导航。每个对象包含多个属性,主要包括
 

  • path:路由的 URL 路径。
  • name:路由的名称,可以用于程序内部引用。
  • component:与该路径对应的 Vue 组件。

在router文件夹下index.js中定义路由
 

{

                path: 'movie/info/:id',

                name: 'movieInfo',

                component: () => import('../views/MovieInfoView.vue')

            },
//一个点返回上一级目录,两个点返回上一级目录的上一级目录


2.在vue router中使用component 配置时,可以选择两种方式来引入组件

直接导入组件:

import MovieInfoComponent from '../views/MovieInfoView.vue';

const routes = [
  {
    path: '/movie/info/:id',
    component: MovieInfoComponent // 直接引用组件
  }
];

懒加载(使用动态导入)

const routes = [
  {
    path: '/movie/info/:id',
    component: () => import('../views/MovieInfoView.vue') // 动态导入组件
  }
];

懒加载的好处

  • 性能优化:懒加载可以在路由被访问时才加载相应的组件,这样可以减少初始加载时的资源占用,提高页面加载速度。
  • 按需加载:尤其在大型应用中,只有访问特定路由时才需要加载相关组件,可以有效减少不必要的资源浪费。

     

3.路由配置中使用name属性好处

  • 为路由提供一个唯一的名称。这样可以在其他地方(如导航、重定向等)通过这个名称来引用该路由
  • 动态路由导航:可以使用路由名称进行编程式导航,而不必硬编码路径。
    this.$router.push({ name: 'MovieInfo', params: { id: movieId } });
  • 更改路径时无需修改代码:如果你需要更改某个路由的路径,只需要在路由配置中更新 path,而调用该路由的地方仍然可以使用 name,避免了多处修改的麻烦
  • 在模板中使用,在 <router-link> 组件中也可以通过 name 指定路由
    <router-link :to="{ name: 'MovieInfo', params: { id: movieId } }">查看电影信息</router-link>

也就是说在当前组件中点击a标签的内容,会跳到href所定的地址的组件中。

为什么还要配置路由呢,要是通过a标签直接跳转到其他组件,在href属性中直接写其他组件的相对地址不就行了吗?为什么还要来通过路由写个地址映射呢?

好处,例如:

无刷新导航:通过 Vue Router,用户在不同组件之间切换时不会导致页面的刷新,从而提供更流畅的用户体验。直接使用 <a> 标签会导致整个页面重新加载,失去 SPA 的优势。


http://www.kler.cn/news/326762.html

相关文章:

  • 一款基于 RBAC 的 Net8 后台管理框架,权限管理,前后台分离,支持多站点单点登录(附源码)
  • 基于Apache和Tomcat的负载均衡实验报告
  • 【30天玩转python】Web开发(Flask/Django)
  • 基于springboot框架的智能招聘系统的设计与实现3hlst
  • ruoyi网页刷新后报404
  • Python电能质量扰动信号分类(六)基于扰动信号特征提取的超强机器学习识别模型
  • VIM的使用总结
  • (c++)内存四区:1.代码区2.全局区(静态区)3.栈区4.堆区
  • 日常工作技术点总结
  • 关于uniapp wifi调用走过的坑
  • 应用层协议 --- HTTP
  • 将Docker镜像推送到阿里云仓库,使用Docker-compose将mysql、redis、jar包整合在一起
  • spring如何解决循环依赖
  • NAND Flash虚拟层垃圾回收机制
  • 【微信小程序前端开发】入门Day01 —— 小程序页面组成、组件使用及协同开发发布指南
  • 深度探索与实战编码:利用Python与AWS签名机制高效接入亚马逊Product Advertising API获取商品详情
  • Web端云剪辑解决方案,提供前端产品源码
  • 使用 MongoDB 在 Spring Boot 中构建安全的 RBAC 系统
  • 【GESP】C++一级练习BCQM3016,初识输入
  • 实用工具推荐---- PDF 转换
  • 利用 Local Data 导入文件到 OceanBase 的方法
  • elasticsearch实战应用JAVA案例
  • Codeforces Round 975 (Div. 2)(A,B,C,D线段树解法,E)
  • 浅谈音频采集方案
  • Elasticsearch深度攻略:核心概念与实践应用
  • 前端使用 Konva 实现可视化设计器(23)- 绘制曲线、属性面板
  • vue3.0 + element plus 全局自定义指令:select滚动分页
  • 现代前端框架实战指南:React、Vue.js、Angular核心概念与应用
  • elasticsearch 向量检索 ann
  • 【架构】前台、中台、后台