Vue中router-view和component :is的区别解析

 更新时间:2023年10月19日 11:09:37   作者:xueyue616  
这篇文章主要介绍了Vue中router-view和component :is的区别解析,router-view用法直接填写跳转路由,路由组件会渲染<router-view></router-view>标签,本文给大家介绍的非常详细,需要的朋友可以参考下

他们的作用都是可以更换组件的显示

router-view

router-view是vueRouter的组件,主要是更新路由,可以不用跳转到一个新的页面,不会更新初始化函数mounted和created,只更新<router-view></router-view>标签下所渲染的组件。可以不用引入组件。

缺点

一个页面一个路由,跳转要写路由地址,更新tab样式要传参数

component :is=" "

component :is这个是vue的组件,is=要渲染的组件,不会更新路由,不会更新初始化函数mounted和created。刷新页面后会跳回默认显示页面;

缺点

需要引入所有要显示的组件,并且components:{声明},

router-view用法

直接填写跳转路由,路由组件会渲染<router-view></router-view>标签

//index.vue
<div class="searchNav">
            <router-link to="/a" >a</router-link>
            <router-link to="/b" >b</router-link>
            <router-view />
</div>
//a.vue
<template>
 <div>
   这是a文件
 </div>
<template>
//b.vue
<template>
 <div>
   这是b文件
 </div>
<template>
//router.js
{
  path: '/index',
  name: 'index',
  component:() => import('index.vue'),
  redirect: '/a', //重定向到/a
  children: [
    {
      path: '/a',
      name: 'a',
      component:() => import('a.vue'),
    },
    {
      path: '/b',
      name: 'b',
      component:() => import('b.vue'),
    },
}

component :is=" "用法

用法很简单,is=要渲染的组件,必须引用和声明

在标签页的使用场景中用动态组件和路由的区别是什么呢

没什么不同吧,都是动态渲染组件,只是路由封装了url与展示的组件的关系,并可以切换任意多级抄组件,你用动态组件做的话肯定特别麻烦。
所以动态组件适用于一个页面上某个区域的切zhidao换,路由适用于同时切换页面以及多个层级的组件

这个需要根据具体的业务需求来。
路由的改变百是根据URL的状态改变而改变,所以要改变路由视图必须要对应URL的改变。并且路由的页面必须要现在Routes里注册,虽然后面提供了动态的注册router.addRouts()
而动态组件<component :is="componentA" :prop="prop"> 仅仅是绑定了变化的度组件,当然这些组件也必须在它们的父组件里注册,也可以采用相同的方式进行传参与事件,页面问URL不需要发生改变。并且相对路由页面更加灵活,可以根据自己的需要发生改变。
举个栗子
在我以前写的一个项目中,设计到echarts的多个图表变换,如果要用路由页面,则答需要重复配置多条规则,而使用动态组件,一个页面内就能搞定。并且能够传递一些参数给这些子组件

到此这篇关于Vue中router-view和component :is的区别的文章就介绍到这了,更多相关router-view和component :is区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue-router命名视图的使用讲解

    vue-router命名视图的使用讲解

    今天小编就为大家分享一篇关于vue-router命名视图的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Vue extend的基本用法(实例详解)

    Vue extend的基本用法(实例详解)

    这篇文章主要介绍了Vue extend的基本用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • vue实现秒杀倒计时组件

    vue实现秒杀倒计时组件

    这篇文章主要为大家详细介绍了vue实现秒杀倒计时组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • vue 中 beforeRouteEnter 死循环的问题

    vue 中 beforeRouteEnter 死循环的问题

    这篇文章主要介绍了vue beforeRouteEnter 死循环的问题,在文章末尾给大家补充介绍了vue中beforeRouteEnter使用的误区,需要的朋友可以参考下
    2019-04-04
  • 解决vue.js在编写过程中出现空格不规范报错的问题

    解决vue.js在编写过程中出现空格不规范报错的问题

    下面小编就为大家带来一篇解决vue.js在编写过程中出现空格不规范报错的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 详解vue slot插槽的使用方法

    详解vue slot插槽的使用方法

    本篇文章主要介绍了详解vue slot插槽的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Vue入门配置、常用指令及Ajax、Axios示例详解

    Vue入门配置、常用指令及Ajax、Axios示例详解

    Vue是一套用于构建用户界面的渐进式JavaScript框架,与其它框架不同的是,Vue被设计为可以自底向上逐层应用,这篇文章主要介绍了Vue入门配置、常用指令及Ajax、Axios的相关资料,需要的朋友可以参考下
    2026-05-05
  • Vue3.2 新增指令 v-memo 用法详解(提高性能利器)

    Vue3.2 新增指令 v-memo 用法详解(提高性能利器)

    v-memo 接受一个依赖的数组,依赖的数组变化,v-memo 所对应的 DOM 包括子集将会重新渲染,这篇文章主要介绍了Vue3.2 新增指令 v-memo 用法,提高性能的又一利器,需要的朋友可以参考下
    2022-09-09
  • Vue3 的ref和reactive的用法和区别示例解析

    Vue3 的ref和reactive的用法和区别示例解析

    ref和reactive是Vue3中用来实现数据响应式的API,一般情况下,ref定义基本数据类型,reactive定义引用数据类型,本文给大家介绍Vue3 的ref和reactive的用法和区别,感兴趣的朋友一起看看吧
    2023-10-10
  • 分享一个基于Ace的Markdown编辑器

    分享一个基于Ace的Markdown编辑器

    相信开发中或多或少都会有使用md的时候。那么一个简易的md编辑器显得尤为重要,如果想要在自己的项目中添加一个md编辑器,那么不妨来看看这篇文章
    2021-10-10

最新评论