vue2 动态添加组件 (typescripte版本)

2 篇文章 0 订阅

假设读者已经对vue有了初步的认识

目标

当想要在一个画板中添加一些组件(图形)的时候适用,如下图类似的效果,点击一个按钮的时候,动态地在面板中添加组件,请看 2.组件动态添加区的效果

效果

先上图 让大家看看动态添加组件的效果
在这里插入图片描述

技术说明

  • 1
    这里并不是添加简单的数据,而是添加组件(名)的功能,并利用vue的:is 特性 ,语法可看官网:is,但是官网只是做了简单的切换功能,本文在这个基础之上用它作 动态创建新组件的能力,简单有效!
  • 2.动态切换区 主要思路
    动态地绑定到它的 is 特性,我们让多个组件可以使用同一个挂载点,并动态切换。如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。为此可以添加一个 keep-alive 指令参数.通过切换后的时间可以看到时间保存的是第一次创建的组件时间
  • 3.动态添加区 主要思路
    利用vue中的v-for语法糖特性,通过监听当前组件内部的组件名列表对象。当触发按钮(添加组件名)的时候,在列表中添加指定的名字就会动态添加组件

友情说明

项目clone到本地

    $ cd dcc
    $ npm install
    $ npm run serve

项目地址

Vue 2中动态添加组件的方法可以通过利用`:is`特性来实现。首先,你需要在组件的挂载点上绑定`:is`特性,这样多个组件可以使用同一个挂载点并进行动态切换。如果你想要保留切换出去的组件的状态或避免重新渲染,你可以添加一个`keep-alive`指令参数。其次,你可以通过监听当前组件内部的组件名列表对象,当触发按钮时,在列表中添加指定的组件名,就可以动态添加组件。 在Vue的核心代码中,你可以使用`$options.components`来动态添加组件。例如,你可以在方法中定义一个`add`方法,通过该方法在`$options.components`对象中添加指定的组件名,并使用`require`方法来加载组件文件。在`render`函数中,你可以使用`createElement`方法来创建一个`appTable`组件。 这样,当你触发添加组件的按钮时,会动态地将指定的组件添加Vue应用中。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vue2 动态添加组件typescripte版本)](https://blog.csdn.net/u012491646/article/details/85016333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [vue动态添加组件](https://blog.csdn.net/m0_37894494/article/details/120539267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值