如何使用`h`创建一个非空评论节点?

Posted

技术标签:

【中文标题】如何使用`h`创建一个非空评论节点?【英文标题】:How to create a non-empty comment node using `h`? 【发布时间】:2021-07-15 05:33:52 【问题描述】:

以下代码将生成一个空的注释节点,即<!---->。 如何生成非空评论节点,例如<!-- Foo --> 使用 h?

export default 
  render(h) 
    return h(null)
  ,

【问题讨论】:

【参考方案1】:

选项 1:h(null) 将字符串作为第二个参数

export default 
  render(h) 
    return h(null, 'This is a comment')  // <!--This is a comment-->
  ,

选项 2:h(Comment) 将字符串作为第二个参数

import  h, Comment  from 'vue' // Vue 3

export default 
  render() 
    return h(Comment, 'This is a comment')  // <!--This is a comment-->
  ,

选项 3:createCommentVNode() 以字符串为参数

import  createCommentVNode  from 'vue' // Vue 3

export default 
  render() 
    return createCommentVNode('This is a comment')  // <!--This is a comment-->
  ,

【讨论】:

Vue 3 警告 [Vue warn]: Invalid vnode type when creating vnode: null 谢谢,看来createCommentVNode 也是discouraged。 也请看this。 是的! Comment 完美,不打印任何警告。 &lt;Comment&gt;Foo&lt;/Comment&gt; 在 JSX 中产生 &lt;!--[object Object]--&gt; tho,你知道如何解决这个问题吗?

以上是关于如何使用`h`创建一个非空评论节点?的主要内容,如果未能解决你的问题,请参考以下文章

如何在drupal 7视图中按角色和用户ID显示用户评论

如何根据另一列的值创建空列或非空列?

如何在 asp.net core 中使用 ajax 创建评论列表? [关闭]

如何使用 WP Rest API v2 创建评论?

如何使用 JIRA Cloud REST API 创建对 jira 问题的内部评论

答案或评论链接如何工作?