当前位置: 首页 > news >正文

vue入门:template 和 JSX

temlplate 和 jsx 最终渲染时都是创建 dom 节点
在这里插入图片描述

template 和 JSX 混合使用

<template>
  <div>
    <span>Message: {{ msg }}</span>
    <br/>
    <VNodes :vnodes="getJSXSpan()"/>
    <VNodes :vnodes="getAnchoredHeading(4)"/>
  </div>
</template>
<script>

export default {
  components: {

    // 用于描述真实 DOM 的结构
    VNodes: {
      // 函数式组件
      functional: true,
      // h 是 createElement 的简写,它是 Vue 的渲染函数,用于创建虚拟 DOM 节点
      // ctx 是上下文,包含了 props, data, children 等信息
      render: (h, ctx) => ctx.props.vnodes
    }
  },
  data() {
    return {
      msg: "hello vue"
    };
  },
  methods: {
    // 渲染的 html
    getJSXSpan() {
      return <span>Message: {this.msg}</span>;
    },
    // 渲染的 html
    getAnchoredHeading(level) {
      // 构建标签
      const Tag = `h${level}`;
      return <Tag>Hello world!</Tag>;
    }
  }
};
</script>

ps:补充说明

// ctx.props.vnodes 是传递给函数式组件的一个 prop,它的值是一个虚拟 DOM 节点
render: (h, ctx) => ctx.props.vnodes

h:
h 是 createElement 的简写,它是 Vue 的渲染函数,用于创建虚拟 DOM 节点。
h 的第一个参数是标签名或组件选项,
第二个参数是节点的属性(如 props、class、style 等),
第三个参数是子节点。

ctx 是上下文对象,它包含了函数式组件的上下文信息。对于函数式组件,ctx 包含以下属性:
props:传递给组件的 props。
children:组件的子节点。
slots:组件的插槽内容。
data:组件的 v-bind 绑定数据。
parent:父组件的上下文。
http://www.dtcms.com/a/130827.html

相关文章:

  • jupyter4.4安装使用
  • 器件封装-2025.4.13
  • 【李宏毅深度学习——回归模型的PyTorch架构】Homework 1:COVID-19 Cases Prediction (Regression)
  • 【深拷贝、浅拷贝】golang函数参数传递,变量复制后,操作变量参数,是否影响原有数据?全面解析
  • 软件设计的核心:从模块化到内聚与耦合
  • dify部署,ollama部署,拉取模型,创建ai聊天应用
  • 神经特征的统计度量及AI拓展
  • uniapp转换markdown
  • MySQL 常见存储引擎全解析:InnoDB、MyISAM、Memory 等对比与实战
  • 随笔 20250413 Elasticsearch 的 term 查询
  • 【UE5 C++课程系列笔记】35——HTTP基础——HTTP客户端异步请求API接口并解析响应的JSON
  • 【redis进阶三】分布式系统之主从复制结构(1)
  • deepseek微调环境配置
  • 如何对大模型进行优化,以提高其性能和效率?
  • 【计网】网络交换技术之分组交换(复习自用,重要1)
  • go语言学习笔记:gin + gorm + mysql 用户增删改查案例入门
  • 【Spring Boot 过滤器】
  • 中断的硬件框架
  • 【题解-洛谷】P2884 [USACO07MAR] Monthly Expense S
  • FreeBSD从14.1升级到14.2后桌面图标消失桌面背景消失且无法设置
  • 4.13日总结
  • 【RL系列】DAPO: An Open-Source LLM Reinforcement Learning System at Scale
  • 【HTTP】:应用层协议HTTP(1)
  • 银河麒麟服务器操作系统V10安装Nvidia显卡驱动和CUDA(L40)并安装ollama运行DeepSeek【开荒存档版】
  • 【中间件】nginx反向代理实操
  • 洛谷刷题小结
  • 编译uboot的Makefile编写
  • system V 共享内存
  • React 记账本项目实战:多页面路由、Context 全局
  • Dolphinscheduler3.2.1运行Java Jar路径重复的BUG修复问题