参考资料:https://juejin.cn/post/7114063575122984973

在Vue项目的开发过程,经常会使用到JSX语法,对常用的JSX语法分类做个笔记,方便需要之时查阅

动态绑定class


数组形式: class={[ ' pt-30 pb-20 mb-20', this.undesirable_redeem_amt > 0 ? 'line-bottom' : '', ]} JS模板字符串形式: className={ `pt-30 pb-20 mb-20 ${this.undesirable_redeem_amt > 0 ? 'line-bottom' : ''} }

文本插值 单大括号{}

在单大括号内支持任何有效的JavaScript表达式


const element = <h1>Hello, { name }</h1>

条件渲染


this.isSingleProductRedeemType && tips.push(<p>若部分取出,单产品赎回份额不少于1万份</p>) if(flag) { return <h1>预约</h1>} else { return <h1>已预约<h1> }

使用三目运算符


this.isSingleProductRedeemType && tips.push(<p>若部分取出,单产品赎回份额不少于1万份</p>) 等价于 this.isSingleProductRedeemType ? tips.push(<p>若部分取出,单产品赎回份额不少于1万份</p>) : null

列表渲染


get tipsRenders(): { render: () => VNode }[] { const render = (jsx: VNode) => ({ render: () => jsx }); return this.tips.map(it => { return typeof it === 'string' ? render(<span>{it}</span>) : render(it); }); }

标签属性绑定


const href = 'https://devui.design/' const element = <a href={href}>DevUI Design</a>

style样式绑定

样式绑定需使用双大括号{{}}


const width = '100px' const element = <button style={{ width, fontSize: '16px' }}></button>

事件绑定

事件绑定使用大括号{},事件名前需要加上on前缀,


render( <div class="state"> 部分成交 <i class="iconfont iconfont-info tip" onClick={() => this.popTip(TradeSubdivisionState.partDeal)} ></i> </div> ); 不带参数时: onClick={this.popTip}

事件修饰符

jsx中给事件增加修饰符需要借助withModifiers方法。


import { withModifiers, defineComponent, ref } from 'vue' render( <div class="state"> 部分成交 <i class="iconfont iconfont-info tip" onClick={withModifiers(() => this.popTip(TradeSubdivisionState.partDeal), ['self'])} ></i> </div> );

vue开发过程常用的JSX语法的更多相关文章

  1. vue render函数使用jsx语法 可以使用v-model语法 vuex实现数据持久化

    render函数使用jsx语法: 安装插件  transform-vue-jsx 可以使用v-model语法安装插件 jsx-v-model .babelrc文件配置: vuex实现数据持久化 安装插 ...

  2. Vue之常用语法

    变量的定义: var定义的变量:只有全局作用域和函数作用域.有变量提升,先打印后定义变量不会报错,打印结果为undefined let定义的变量:没有变量提升             ——>有局 ...

  3. 在vue中使用jsx语法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解 ...

  4. Vue最常用的组件通讯有三种:父->子组件通讯、子->父组件通讯,兄弟组件通讯.(template用的pug模板语法)

    Vue组件通讯   Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通 ...

  5. 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法

    Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...

  6. Vue.2.0.5-模板语法

    Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  7. Vue.js系列之三模板语法

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  8. vuejs使用jsx语法

    想要vuejs项目支持jsx语法,需要一些插件 babel-plugin-transform-vue-jsx Babel plugin for Vue 2.0 JSX 使用方法: 安装 npm ins ...

  9. 02: vue.js常用指令

    目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...

  10. Freemaker FTL指令常用标签及语法

    https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...

随机推荐

  1. P1962 斐波那契数列(矩阵快速幂)

    #include<bits/stdc++.h> #define int long long using namespace std; int n,a[3],m=1e9+7,c[3][3], ...

  2. 【主流技术】聊一聊对 Mybatis Plus 的理解与应用

    前言 mybatis plus是一个mybatis的增强工具,在其基础上只做增强不做改变.作为开发中常见的第三方组件,学习并应用在项目中可以节省开发时间,提高开发效率. 官方文档地址:MyBatis- ...

  3. 【二】gym初次入门一学就会---代码详细解析简明教程----平衡杆案例

    相关文章: [一]gym环境安装以及安装遇到的错误解决 [二]gym初次入门一学就会-简明教程 [三]gym简单画图 [四]gym搭建自己的环境,全网最详细版本,3分钟你就学会了! [五]gym搭建自 ...

  4. 7.2 Windows驱动开发:内核注册并监控对象回调

    在笔者上一篇文章<内核枚举进程与线程ObCall回调>简单介绍了如何枚举系统中已经存在的进程与线程回调,本章LyShark将通过对象回调实现对进程线程的句柄监控,在内核中提供了ObRegi ...

  5. 遥感图像处理笔记之【FastAI Multi-label image classification】

    遥感图像处理学习(4) 前言 遥感系列第4篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月15日 2024年1月24日搬运至本人博客园平台 文章标题:FastAI Multi ...

  6. 监听yaml配置

    接下来我们试试从yaml文件中读取配置,当然这不是动态配置分发的好方式 别急,一口吃不成大胖子 这里其实会为大家介绍不少东西: 如何引入第三方库以及配置openresty lua 文件读取 yaml ...

  7. NC16416 [NOIP2017]逛公园

    题目链接 题目 题目描述 策策同学特别喜欢逛公园. 公园可以看成一张 N 个点 M 条边构成的有向图,且没有自环和重边.其中 1 号点是公园的入口, N 号点是公园的出口,每条边有一个非负权值,代表策 ...

  8. NC14685 加边的无向图

    题目链接 题目 题目描述 给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~ 输入描述 第一行两个正整数 n 和 m . 接下来的m行中,每行两个正整数 i ...

  9. DRF解决跨域问题

    Django Rest Framework提供了corsheaders模块解决跨域问题 安装模块 pip3.9 install django-cors-headers 注册应用 # 注册 corshe ...

  10. idea 灵异事件之maven 缓存

    方法一 mvn clean install 方法二 强制刷新maven 1 idea 右侧的maven 窗口: 方法三 强制刷新maven 2 右键项目: 上面虽然是重新导入Maven依赖,按理说,I ...