vue中动态组件的使用及相关问题

big--bear big--bear     2022-12-13     721

关键词:

<component v-bind:is="currentTabComponent"></component>

 动态组件主要是运用 is 属性 达到切换组件的效果。

 如何使动态组件保持状态--- keep-alive (有时候,我们希望能保持被动态加载组件的状态,已避免反复重复渲染导致的性能问题)

 

<keep-alive>
      <component :is="currentTabComponent"></component>
</keep-alive>

但是,我们在使用keep-alive来保持组件状态的同时, 也带来了另外一个问题, 就是第二进入页面之后, 组件的钩子函数created 和 mounted 不会再次被触发(除了activated钩子外, 都不会触发)

解决办法:

        1.  在对应组件中, 加activated钩子函数再次请求数据接口。

        2.  或者, 使用exclude来忽略对应缓存的组件   (只适用于单个组件)

<keep-alive exclude="posts">
      <component :is="currentTabComponent"></component>
</keep-alive>

  

 

 

在 Vue js 中动态使用多个页面(组件)

】在Vuejs中动态使用多个页面(组件)【英文标题】:Usingmultiplepages(components)dynamicallyinVuejs【发布时间】:2019-04-1502:03:04【问题描述】:我正在使用LaravelNova自定义工具,它使用vuejs来实现自定义功能。创建后组件内部有一个tool.v... 查看详情

通过vue路由传参的两种方式及vue组件中接收参数的方式(代码片段)

1.Vue传参方式1.1通过动态路由传参我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。例如,我们有一个User组件,对于所有ID各不相同的用户,都要使用这个组件来渲染。那么,我们可以在vue-router的路由路径中使... 查看详情

Vue动态组件:如何从同一组件的多个实例中进行选择

】Vue动态组件:如何从同一组件的多个实例中进行选择【英文标题】:VueDynamicComponents:howtoselectfrommultipleinstanceofthesamecomponent【发布时间】:2018-11-0409:59:22【问题描述】:我有以下问题:我在项目中使用iView作为UI库,我必须从动... 查看详情

使用 laravel 在 Vue JS 中调用动态组件

】使用laravel在VueJS中调用动态组件【英文标题】:CallingdynamiccomponentsinVueJSwithlaravel【发布时间】:2017-10-0802:10:21【问题描述】:我正在尝试在Laravel5.4和VueJS2.0上构建应用程序我有一组components仅在特定页面中使用,现在我正在全... 查看详情

在 Vue 功能组件中使用动态导入

】在Vue功能组件中使用动态导入【英文标题】:UsedynamicimportinVuefunctionalcomponent【发布时间】:2020-01-0119:32:28【问题描述】:这个想法是使用Vue功能组件作为包装器,并有一些逻辑来决定要渲染哪个组件。这种模式在thispageoftheVued... 查看详情

vue之组件的动态注册和动态加载

...一个独立的.vue组件,在界面化管理平台上,要实现可以动态的新增视图组件,同时修改的时候可以随意的修改选择那一类视图。而且随着项目的扩大,基础视图组件的也会随之增加,即:基础视图组件的个数是不固定的。这就... 查看详情

vue中动态路由组件缓存及生命周期函数

...状态保留在内存中,防止重复渲染DOM。<keep-alive>包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和<transition>相似,<keep-alive>是一个抽象组件:它自身不会渲染一个DOM元素,也不会出现在父组件链中。... 查看详情

Vue JS 0.12 动态组件

】VueJS0.12动态组件【英文标题】:VueJS0.12DynamicComponents【发布时间】:2015-09-0612:19:26【问题描述】:我升级到了Vue0.12,但它给我留下了一个棘手的问题。我正在使用Browserify/Vueify来转换和连接单个文件组件定义。在我的应用程序... 查看详情

vue3动态加载组件动态引入组件(代码片段)

1.问题在做一个用vite构建的vue3项目时,动态拉取导入.vue页面,然后控制台一直有以下提示,页面也无法渲染出来。2.分析根据上面的报错提示,让我们安装并使用:@rollup/plugin-dynamic-import-vars这个插件(... 查看详情

如何动态嵌套 vue 组件?

】如何动态嵌套vue组件?【英文标题】:HowcanIdynamicallynestvuecomponents?【发布时间】:2018-07-3121:08:45【问题描述】:当用户单击按钮时,我想在另一个组件中添加一个组件。但是我们如何在虚拟dom中渲染组件。我尝试使用v-html但它... 查看详情

vue---组件引入及使用的几种方式(代码片段)

在vue的项目开发过程中,基本都是基于组件化开发项目,总结下使用组件的几个点:一、@符号的使用在vue项目中@符号代表的是根目录,即src目录。二、组件的放置位置在项目中,公用的组件放置在components目录下,项目组件新建... 查看详情

Vue动态组件覆盖

】Vue动态组件覆盖【英文标题】:Vuedynamiccomponentoverwrite【发布时间】:2020-02-2016:46:34【问题描述】:我的项目使用Laravel和Vue(由Laravel-Mix编译)。并且有这样的结构:我想要的是检查组件是否存在于覆盖的程序文件夹中并加载... 查看详情

如何仅将 css 样式应用于特定的 Vue 组件及其子组件?

】如何仅将css样式应用于特定的Vue组件及其子组件?【英文标题】:HowtoapplycssstyleonlyforspecificVuecomponentanditschild?【发布时间】:2019-09-1204:25:24【问题描述】:我的Vue项目使用Vue.Router。我想从父组件中为子组件应用css样式。但是... 查看详情

从变量中动态加载 Vue 组件

】从变量中动态加载Vue组件【英文标题】:DynamicallyLoadVueComponentfromavariable【发布时间】:2018-05-2218:11:28【问题描述】:我正在构建一个非常大的企业应用程序,其中组件按需加载,我曾经使用require.js并且我能够做到require(stringVa... 查看详情

打包相关

...件时,组件内的CSS会以<style>标签的方式通过JavaScript动态注入。这有一些小小的运行时开销,如果你使用服务端渲染,这会导致一段“无样式内容闪烁(fouc)”。将所有组件的CSS提取到同一个文件可以避免这个问题,也会让CSS... 查看详情

在 Vue 中动态添加带有事件的不同组件

】在Vue中动态添加带有事件的不同组件【英文标题】:DynamicallyaddingdifferentcomponentswitheventsinVue【发布时间】:2020-12-0318:22:59【问题描述】:我想创建一个自动添加的类似组件列表。类似这样的:用Vue进行动态组件渲染很简单,但... 查看详情

vue组件中传值eventbus的使用及注意事项

主要想说下非父子组件之间的通信。项目场景:在app.vue里写了一个公共的顶部导航navbar,然后右侧有个分享按钮,而这个分享按钮只有在特定的页面才展示,项目里是在lottery.vue页面,然后想实现app.vue里点击分享按钮,触发lotte... 查看详情

使用模板文字的动态 Vue 组件导入路径

】使用模板文字的动态Vue组件导入路径【英文标题】:DynamicVuecomponentimportpathusingtemplateliterals【发布时间】:2019-03-0621:29:57【问题描述】:编辑因此,以下从技术上回答了这个问题,并且基于Husam的回答。beforeCreate:function()this.$opt... 查看详情