问题分析

今天在写代码的时候,用到了 Vue框架的动态组件,本来用的好好的(具体用法参考官方文档),后来改进了一下业务功能,在子组建中也使用了和父组件相同的动态组件方法,由于子组件采用对话框i的形式,但是子组件中的动态组件却没有加载出来;准确来说是 第一次没有加载出来,返回上一级界面,重新进入组件,在打开对话框子组件有加载出来了

parent.vue


<div id="parent"> <span>巴拉巴拉</span><component :is="aaa"></components></div>new Vue({el: '#parent',data(){return {currentCom: 'aa'}},components:  { aa: {} ,bb:{},cc:{} }
})

aa 组件是一个 封装的对话框组件

然后在 aa组件的对象里面

aa.vue

<div> <dialog :visiable="show"></dialog></div>new Vue({el: '#aa',data(){return {currentCom: 'bb',show: false}},mounted(){this.show = true;},components:  { bb:{},cc:{} },template: `<div><component :is="currentCom"></component></div>`})

大概就是这样:
导致的问题就是, 第一次进入parent 组件 aa组件的对话框 中的动态组件 无效,第二次进入的时候 才有效

我猜测了一下原因:

1 由于我的dialog是通过visiable.sync 异步懒加载的,可能导致子组件没有得到初始化,
2 可能是由于父组件中也有相同的组件内容,无法第一次在子组件的加载

解决方法

在子组件中采用 组件对象数据作为 组件数据 (Vue[文档动态组件]第二个规则:一个组件的选项对象)
具体用法查看aa子组件的写法

之前是放到 components下, 这次不采用放到components下,而是直接把组件选项的对象赋值给 :is的对象

Vue子组件中渲染动态组件无效(第一次无效、第二次有效)相关推荐

  1. php动态写入vue,Vue.js中使用动态组件的方法

    本文介绍了如何在Vue.js中引用组件中的HTML元素.您可以通过使用Vue路由器或创建动态组件来切换视图或组件模板. Vue路由器用于在DOM中的视图或组件模板之间导航.要使用Vue路由器,请在ro ...

  2. [vue] 如何在子组件中访问父组件的实例?

    [vue] 如何在子组件中访问父组件的实例? this.$parent拿到父组件实例 this.$children拿到子组件实例(数组) 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, ...

  3. vue2.0中组建里面套用组件_vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码...

    具体代码如下所示: document var aaa=vue.extend({//继承出来一个vue类aaa template:' 我是标题3 ' }); var a=new aaa();//a跟vm ...

  4. Vue基础学习笔记Day06_动态组件_插槽_自定义指令

    今日目标: 能够了解组件进阶知识 能够掌握自定义指令创建和使用 学习内容: 学习目录: 组件进阶 自定义指令 今日总结 面试题 知识点自测 组件创建, 注册和使用 - 伸手就来特别熟练 指令的作用 1 ...

  5. [vue] 你有使用过动态组件吗?说说你对它的理解

    [vue] 你有使用过动态组件吗?说说你对它的理解 通过 Vue 的 元素加一个特殊的 is 特性来实现 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨 ...

  6. 如何利用自定义的事件,在子组件中修改父组件里边的值?

    如何利用自定义的事件,在子组件中修改父组件里边的值? 这是一篇好文章,佩服博主的思维:本文出自http://www.cnblogs.com/padding1015/ 关键点记住:三个事件名字 步骤如下 ...

  7. elementui组件中,树形组件的使用

    项目场景: elementui组件中,树形组件的使用 问题描述: 通过树形结构展示,点击勾选数据.没有展开树结构的情况下,勾选树节点时,其叶子节点全部被勾选,@check-change="h ...

  8. flex datagrid组件中添加别的组件

    flex datagrid组件中添加别的组件 在flex的dataGrid中,很多情况下列是需要嵌入其他的控制的,比如:checkbox,combox等,此时需要利用dataGrid的如下功能: 1. ...

  9. Vue将页面中Echarts动态图导出Gif动图

    Vue将页面中Echarts动态图导出Gif动图 首先,准备工作需要三个依赖的js 第一个js采用npm进行安装: npm install html2canvas 第二个js采用下载放入项目中进行使用 ...

最新文章

  1. python (3.5)字符串 持续更新中………………
  2. LintCode MySQL 1932/1933. 挂科最多的同学 I / II
  3. 通过Resource file本地化SharePoint用户界面
  4. getElementById和querySelector方法的区别
  5. c++中的stl容器——map的介绍与常用用法
  6. 数据库之SQL笛卡尔积
  7. c++EasyX极乐净土的实现及音乐头文件的使用
  8. 丽江,清晨的小巷在哭泣
  9. 5G消息富媒体最新形态
  10. 常用Word 排版要求
  11. C++ 炼气期之基本结构语法中的底层逻辑
  12. 在matlab中生成m序列
  13. Linux vi 文本代码时显示行号或不显示行号
  14. 通过Charmed Ceph 在 H3C UniServer R4950 G5 服务器上 部署独立的Ubuntu Ceph 存储集群
  15. 二叉树的前序中序后序遍历图示
  16. 陈林接替张一鸣任今日头条CEO 字节跳动学谷歌进行架构升级
  17. 马哥SRE第五周课程作业
  18. linux中文谐音,GNU和LINUX到底怎么个发音?
  19. 10个编写快速运行的Mathematica代码的小诀窍
  20. #第26篇分享:一个文本分类的数据挖掘(python语言:sklearn 朴素贝叶斯NB)(2)

热门文章

  1. 阿里为什么偏向全资收购?而腾讯只是投资!
  2. Dapper.Contrib扩展介绍
  3. 小米9 字体样式问题
  4. linux最好的关机方法,【Linux】正确的关机方法
  5. unity 多人同屏处理
  6. 计算机更换主板后是否需要安装驱动程序,电脑更换主板不重装系统怎么设置
  7. 我的个人博客成功上线咯
  8. 果园施药机具农业科研进展
  9. 大厂笔试助攻王御用伴读小书童-JAVA/C++/Python
  10. 数据挖掘实践(金融风控-贷款违约预测)(二):数据分析