返回介绍

H 函数(vNode)

发布于 2021-04-10 06:03:37 字数 2173 浏览 1180 评论 0 收藏 0

使用Vdt标签语法,你无法定义一个可变标签,即:根据传入的参数不同,既可以渲染成<a></a>,又可以渲染成<b></b>

但模板中,用于创建标签的方法h(),可以做到这一点

h(tagName[, attrs, children, className, key, ref])

  • @description 创建虚拟DOM
  • @param tagName {String} 标签名
  • @param attrs {Object} 属性
  • @param children {String | Number | vNode | Array<String | Number | vNode>} 子元素
  • @param className {String} class属性
  • @param key {String} key属性
  • @param ref {Function} 用于引用到元素

该函数创建一个虚拟DOM。下例展示如何通过它创建<a>

h('a', {href: '//www.baidu.com'}, ['百度官网']);

有了它我们就可以创建可变标签了

var Button = function(attrs) {
  return h(attrs.tagName || 'button', attrs.properties, attrs.children);
}
<div>
  <Button tagName="a" properties={{href: '//www.baidu.com'}}>a标签按钮</Button>
  <Button tagName="button">button标签按钮</Button>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文