博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
componentOptions配置选项的作用和用法
阅读量:5925 次
发布时间:2019-06-19

本文共 1105 字,大约阅读时间需要 3 分钟。

componentOptions 可以通过vnode.componentOptions来访问,用来挂载部分组件选项来使用的。包括

{ Ctor, tag, propsData, listeners,children } 。非组件的componentOptions为空。

// 源码中体现代码如下:// return a placeholder vnode  const name = Ctor.options.name || tag  const vnode = new VNode(    `vue-component-${Ctor.cid}${name ? `-${name}` : ''}`,    data, undefined, undefined, undefined, context,    { Ctor, propsData, listeners, tag, children },    asyncFactory  )复制代码

用法

  1. 可以用来判断当前的vnode是不是组件。

    const isComponent = vnode.componentOptions复制代码
  2. 可以用来获取组件的名称

    const vonde = vnode.componentOptions.tag复制代码

    前提条件是在渲染组件的时候是采用字符串的形式,例如

    const comA = Vue.extend({})const comB = new Vue({  components: {    comA  },  render (h) {    // return h('div', [h('comA')]) // 此时获取的vnode.componentOptions.tag为comA    // return h('div', [h(comA)])  // 此时获取的vnode.componentOptions.tag为undefined})复制代码
  3. 最合适的获取组件名称的方式应该为:

    // 注意此时的componentOptions.tag为模版或者render书写的标签字符串,根据用户的书写可能不统一// 最好的方式还是使用componentOptions.Ctor.options.nameconst componentOptions = vnode.componentOptions;const componentName = componentOptions && componentOptions.Ctor.options.name || componentOptions.tag复制代码

转载地址:http://ihovx.baihongyu.com/

你可能感兴趣的文章
Android学习笔记(三)
查看>>
13.ThreadPoolExecutor线程池之submit方法
查看>>
10.29 工作笔记 ndk编译C++,提示找不到头文件(ndk-build error: string: No such file or directory)...
查看>>
Tushare数据的绘图操作
查看>>
JsonRequestBehavior.AllowGet 方便浏览器调试
查看>>
一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi
查看>>
JavaFX 一 出生新手村(阅读小规则)
查看>>
Mac Ubuntu ----端口被占用
查看>>
运营推广的一些方法
查看>>
CentOS下MySQL忘记root密码解决方法【转载】
查看>>
Highcharts数据表示(3)
查看>>
[Windows]_[0基础]_[Release程序的崩溃报告minidump解决方式]
查看>>
半年总结——欲戴王冠,必承其重
查看>>
POJ 1985 Cow Marathon(树的直径)
查看>>
LeetCode 3_Longest Substring Without Repeating Characters
查看>>
leetcode-Word Ladder II
查看>>
关于Unity中的本地存储
查看>>
illegal multibyte sequence python3
查看>>
shell变量/环境变量和set/env/export用法_转
查看>>
删除 oracle
查看>>