vue开发过程常用的JSX语法
参考资料: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语法的更多相关文章
- vue render函数使用jsx语法 可以使用v-model语法 vuex实现数据持久化
render函数使用jsx语法: 安装插件 transform-vue-jsx 可以使用v-model语法安装插件 jsx-v-model .babelrc文件配置: vuex实现数据持久化 安装插 ...
- Vue之常用语法
变量的定义: var定义的变量:只有全局作用域和函数作用域.有变量提升,先打印后定义变量不会报错,打印结果为undefined let定义的变量:没有变量提升 ——>有局 ...
- 在vue中使用jsx语法
什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到<,JSX就当HTML解析,遇到{就当JavaScript解 ...
- Vue最常用的组件通讯有三种:父->子组件通讯、子->父组件通讯,兄弟组件通讯.(template用的pug模板语法)
Vue组件通讯 Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通 ...
- 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法
Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...
- Vue.2.0.5-模板语法
Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...
- Vue.js系列之三模板语法
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...
- vuejs使用jsx语法
想要vuejs项目支持jsx语法,需要一些插件 babel-plugin-transform-vue-jsx Babel plugin for Vue 2.0 JSX 使用方法: 安装 npm ins ...
- 02: vue.js常用指令
目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...
- Freemaker FTL指令常用标签及语法
https://blog.csdn.net/pengpengpeng85/article/details/52070602 FTL指令常用标签及语法 注意:使用freemaker,要求所有标签必须闭合 ...
随机推荐
- Gorm 数据库表迁移与表模型定义
目录 一.Docker快速创建MySQL实例 1.1 创建 1.3 创建数据库 二.AutoMigrate介绍与使用 2.1 AutoMigrate介绍 2.2 AutoMigrate 基本使用 三. ...
- 驱动开发:WinDBG 枚举SSDT以及SSSDT地址
在前面的博文<驱动开发:内核读取SSDT表基址>中已经教大家如何寻找SSDT表基地址了,今天给大家分享两个适用于WinDBG调试器上的脚本文件,该脚本文件可以很好的枚举出当前系统内的SSD ...
- 物联网浏览器(IoTBrowser)-Modbus协议集成和测试
Modbus协议在应用中一般用来与PLC或者其他硬件设备通讯,Modbus集成到IoTBrowser使用串口插件模式开发,不同的是采用命令函数,具体可以参考前面几篇文章.目前示例实现了Modbus-R ...
- Intel酷睿Ultra隆重登场:28W能效逆天!AI性能领先竞品5.4倍
作为Intel 1971年首款微处理器4004诞生以来变革幅度最大的产品,代号Meteor Lake的第一代酷睿Ultra今天终于正式发布了!相关笔记本.迷你机产品也会陆续发布上市. 有关于酷睿Ult ...
- Oracle删除索引规范
1.背景概述 2.索引删除规范 3.根本解决方案及建议 1.背景概述 近期应用升级上线过程中,存在删除业务表索引的变更操作,且因删除索引导致次日业务高峰时期,数据库响应缓慢的情况,经定位是缺失索引导致 ...
- ASP.NET Core分布式项目实战(Identity Server 4回顾,Consent 实现思路介绍)--学习笔记
任务17:Identity Server 4回顾 上一节我们中间留了一部分,登录之后的 RequireConsent,就是用户授权这一步没有做,直接跳过,这种情况可以理解为我们自己比较信任的客户端,这 ...
- 函数防抖与节流 - js
防抖(debounce)和节流(throttle)是在 高频次调用函数 的场景下,常用的解决方案了.故名思意,可以节省开销,优化体验. 二者的区别: 防抖: 我们让想要执行的函数只在最后一次调用完一小 ...
- Google三驾马车之二:MapReduce
第一次接触mr还是在入门mit6.824的lab1,最近重新读了一遍原始论文,又有了一些新的想法,简单做一些记录. 作为Google分布式系统的重要组成,本篇文章核心在于map/reduce操作带来的 ...
- Shiro 框架的MD5加密算法实现原理
直接上代码:该代码可以直接用于项目中做MD5加密,加盐加密,多层散列加密 import java.io.UnsupportedEncodingException; import java.securi ...
- [技术选型与调研] 流程引擎(工作流引擎|BPM引擎):Activiti、Flowable、Camunda
1 概述:流程与流程引擎 低代码平台.办公自动化(OA).BPM平台.工作流系统均需要[流程引擎]功能 BPM平台与工作流系统的区别,参见本文档:3.2 章节 流程引擎是任务分配软件(例如业务流程管理 ...