位置: IT常识 - 正文

Vue动态组件 component :is的使用(vue动态组件component原理)

编辑:rootadmin
Vue动态组件 component :is的使用

推荐整理分享Vue动态组件 component :is的使用(vue动态组件component原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue动态组件component如何调用方法,vue动态组件component,vue动态组件component,vue动态组件component is属性,vue动态组件component传值,vue动态组件component原理,vue动态组件component,vue动态组件component,内容如对您有帮助,希望把文章链接给更多的朋友!

vue 动态组件用于实现在指定位置上,动态加载不同的组件,核心代码为:

<component :is="componentTag"></component>data() { return { componentTag: '', }}

componentTag 为自定义的变量,将需要加载的组件名赋值给它,即可在<component />标签出现的位置,渲染该组件。

代码示范<template> <div style="padding: 30px"> <button @click="change('1')">组件1</button> <button @click="change('2')">组件2</button> <button @click="change('3')">组件3</button> <component :is="componentTag"></component> </div></template><script> import component1 from './component1' import component2 from './component2' import component3 from './component3' export default { components: {component1, component2, component3}, data() { return { componentTag: '', } }, methods: { change(index) { this.componentTag = 'component' + index }, } }</script><style scoped></style>

src/page/component1.vue

<template> <div> <h3>组件1—文字</h3> <span>我爱你,中国!</span> </div></template><script> export default { name: "component1" }</script><style scoped></style>

src/page/component2.vue

<template> <div> <h3>组件2-图片</h3> <img src="https://www.yuucn.com/wp-content/uploads/2022/03/1648645331-ccb34a595cb926f.png" alt=""> </div></template><script> export default { name: "component2" }</script><style scoped></style>

src/page/component3.vue

<template> <div> <h3>组件3—输入框</h3> <input type="text"> </div></template><script> export default { name: "component3" }</script><style scoped></style>效果展示点击按钮组件1

点击按钮组件2Vue动态组件 component :is的使用(vue动态组件component原理)

点击按钮组件3

以上原文链接:vue 动态组件【详解】component :is_朝阳39的博客-CSDN博客_component is

 component :is用法进阶之组件内引入多个组件<component :is="detailComponentName" />import components from './components'export default { components: { ...components }}

src/components/index.js

const ctx = require.context('./common', false, /\.vue$/)const components = {}console.log(ctx, 'ctx---打印出./common文件下(不包含子文件夹),以.vue结尾的文件')console.log( ctx.keys(), 'ctx.keys()---返回./common文件下(不包含子文件夹),以.vue结尾的文件的数组')for (const key of ctx.keys()) { // 剥去文件名开头的 `./` 和`.vue`结尾的扩展名 const module = key.replace(/^\.\//, '').replace(/\.vue$/, '') components[module] = ctx(key).default console.log(module, 'module---去掉`./`开头 和`.vue`结尾后的文件名') console.log( components[module], 'components[module]---拿到ctx文件(包括html和default)' )}console.log(components, 'components---这些ctx文件集合')export default components

此处解释该index.js文件:

require.context( directory, useSubdirectories, regExp )

directory{String}-读取文件的路径。useSubdirectories{Boolean}-是否遍历文件的子目录。regExp{RegExp}-匹配文件的正则。

require.context('./', false, /\.vue$/) 检索components文件下的文件,不检索子文件夹,匹配以.vue结尾的文件。

 

 

本文链接地址:https://www.jiuchutong.com/zhishi/295679.html 转载请保留说明!

上一篇:分配股利在报表哪里体现(分配股利账务处理)

下一篇:web前端面试高频考点——Vue的高级特性(动态组件、异步加载、keep-alive、mixin、Vuex、Vue-Router)(web前端面试题最新)

  • 个人退税需要多少天
  • 账面价值计税基础算法
  • 税前扣除凭证按照用途分为哪些
  • 增值税出口退税款缴纳企业所得税吗
  • 税收优惠政策有什么好处
  • 房地产开发企业销售自行开发的房地产项目
  • 营业外支出影响利润
  • 一般纳税人附加税减免政策2023
  • 利润为负数利润增长率怎么算
  • 建筑公司核定征收所得税怎么算
  • 公司水费怎么做账
  • 签订代销合同的人有没有退货权
  • 餐饮行业享受免增值税政策怎么开发票
  • 管理人员工资计入管理费用吗
  • 公司使用个人车辆费用是多少
  • 小规模纳税人怎么算税
  • 活动费的税率
  • 建筑业差额征税的账务处理
  • 剪头开发票
  • 资产总计与负债和所有者权益总计不一致
  • 未开票的销售要交增值税吗
  • 事业单位固定基金属于什么科目
  • 支付销售产品的保险费计入什么科目
  • 暂估成本后第二年收到发票怎么做账
  • 公司员工补充医疗保险方案
  • 收到转账支票又背书转让怎么写会计科目
  • win10怎么看电脑名称
  • 长期股权投资增加的原因
  • 企业收入确认的依据是什么
  • 支付宝安全控件是什么
  • 异地项目不预缴税款可以开票吗
  • 圣胡安教会9个遗物视频
  • 事业单位结息会降薪吗
  • php制作简单的表单代码
  • 食堂现金管理办法
  • 最好的ph计
  • 增值税密码锁定怎么办
  • discuz去除底部
  • uni app ios
  • 利润表本年累计数公式
  • 非流动资产基金对应的新科目
  • element-ui tree 异步树实现勾选自动展开、指定展开、指定勾选
  • wordpress图片大小设置
  • vue整合electron
  • 原材料折价销售怎么算
  • 计提以前年度的企业所得税
  • 可转债中签后怎么看涨跌
  • 公司基建维修承诺书
  • 当月发生逾期押金收入12870元
  • 采购材料未付款填什么凭证
  • 预提费用为什么是负债
  • 基建结束后该做哪些工作
  • 差旅费出差补助标准
  • 营改增对企业税负影响
  • 新公司的注册
  • 向非关联企业捐赠现金能不能抵扣
  • 税审报告一定要税所主任签吗
  • mysql 索引的类型
  • win10自动
  • win7 64位旗舰版系统运行游戏提示计算机丢失mxvcp120.dll的解决方法
  • win7系统IE浏览器版本
  • xp系统怎么新建桌面
  • win10系统打开图片内存忽大忽小
  • mac adobe flash player一直提示更新
  • window系统桌面
  • xp事件管理器
  • vlcplayer最新版
  • 在linux中使用apache发布web服务时默认web站点
  • 解决Android Studio下载gradle慢
  • centos 开机启动程序
  • firefox background-image垂直平铺问题的解决方法
  • js处理时间
  • python cookie session
  • js window.screen
  • javascript keyup
  • textview在哪
  • 电子税务局打印发票提示本机未检测到
  • 天津市税务机关代码
  • 2020年河南麦收时间
  • 税务检查企业所得税案例
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设