详解Vue如何支持JSX语法


Posted in Javascript onNovember 10, 2017

通常开发vue我们使用的是模板语法,其实还有和react相同的语法,那就是render函数,同样支持jsx语法。

Vue 的模板实际是编译成了 render 函数。

1.传统的createElement方法

createElement(
 'anchored-heading', {
  props: {
   level: 1
  }
 }, [
  createElement('span', 'Hello'),
  ' world!'
 ]
)

渲染成下面这样

<anchored-heading :level="1">
<span>Hello</span> world!
</anchored-heading>

2.使用jsx语法

这就是会用到一个Babel plugin 插件,用于在 Vue 中使用 JSX 语法的原因,它可以让我们回到于更接近模板的语法上。

1.安装

npm install\
 babel-plugin-syntax-jsx\
 babel-plugin-transform-vue-jsx\
 babel-helper-vue-jsx-merge-props\
 babel-preset-es2015\
 --save-dev

2.编辑.babelrc文件

{
"presets": ["es2015"],
"plugins": ["transform-vue-jsx"]
}

代码编辑如下

Vue.component('jsx-example', {
 render (h) { // <-- h must be in scope
  return <div id="foo">bar</div>
 }
})

将 h 作为 createElement 的别名是 Vue 生态系统中的一个通用惯例,实际上也是 JSX 所要求的,如果在作用域中 h 失去作用, 在应用中会触发报错。

官网说明文档:https://cn.vuejs.org/v2/guide/render-function.html#JSX

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
读jQuery之十三 添加事件和删除事件的核心方法
Aug 23 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
Dec 29 Javascript
JS实现图片产生波纹一样flash效果的方法
Feb 27 Javascript
JavaScript动态修改背景颜色的方法
Apr 16 Javascript
Javascript中replace()小结
Sep 30 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
Nov 30 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
javascript创建元素和删除元素实例小结
Jun 19 Javascript
Vue混入mixins滚动触底的方法
Nov 22 Javascript
前端深入理解Typescript泛型概念
Mar 09 Javascript
js实现直播点击飘心效果
Aug 19 Javascript
微信小程序异步处理详解
Nov 10 #Javascript
微信小程序实现选项卡功能
Jun 19 #Javascript
微信小程序实现多宫格抽奖活动
Apr 15 #Javascript
十分钟带你快速了解React16新特性
Nov 10 #Javascript
JS实现移动端整屏滑动的实例代码
Nov 10 #Javascript
Three.js加载外部模型的教程详解
Nov 10 #Javascript
vue2导航根据路由传值,而改变导航内容的实例
Nov 10 #Javascript
You might like
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
php实现rc4加密算法代码
2012/04/25 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP发送短信代码分享
2015/08/11 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
潜说js对象和数组
2011/05/25 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
angular十大常见问题
2017/03/07 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
vue实现手机号码抽奖上下滚动动画示例
2017/10/18 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python中正则表达式的使用方法
2018/02/25 Python
wxPython修改文本框颜色过程解析
2020/02/14 Python
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
打架检讨书500字
2014/01/29 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
幼儿园秋游感想
2014/03/12 职场文书
资金申请报告范文
2015/05/14 职场文书
楚门的世界观后感
2015/06/03 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript