博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中,利用JSX语法生成不同html模板
阅读量:7025 次
发布时间:2019-06-28

本文共 1185 字,大约阅读时间需要 3 分钟。

  • 解决的问题:作为子组件,可以根据父组件的某个变量,输出多个相同或者不同的html模板。
    • 比如有这样一个需求页面:

tabbar下内容每一个红色框内为一种
html模板,不同险种或者不同性质内容,
html模板不同,方法1是定义4个组件,达到显示多个相同的模板A和其它多个不同的html模板,官网的说法是这样代码冗长,提供的简单方法2是
render函数,方法3是
JSX语法。 *
render函数可以理解为
JS语法生成
html模板,感觉用起来没有
JSX顺手,不是很好理解。 *
JSX语法简单可以理解为
JS里面混用
html语法生成
html模板,简单易用易理解。 * 好处就是方法1简化为一个组件,这个组件相当于一个
html模板制造工厂,根据需要(变量)产出不同
html模板,也可以是多个重复
html模板。

JSX

  • jsx语法依赖Babel插件编译,不然无法识别会报错。需要配置
npm installbabel-plugin-syntax-jsxbabel-plugin-transform-vue-jsxbabel-helper-vue-jsx-merge-propsbabel-preset-env--save-dev复制代码
//.babelrc文件配置{"presets": ["env"],"plugins": ["transform-vue-jsx"],}复制代码
  • 父组件template代码
复制代码
  • 子组件不需要template代码,因为JSX其实是代替了template渲染html,所以只需要js和styel代码
复制代码
  • 备注:return括号内html模板必须要有一个根标签,同template规则
  • 思路:将后台返回Array/Object格式数据在父组件利用v-for循环,item对象传入子组件,子组件根据变量insuranceType值判断最终渲染成何种html模板。更复杂场景可利用computedmethod等选项控制。

转载于:https://juejin.im/post/5b0537c6f265da0b8263286f

你可能感兴趣的文章
JavaScript面向对象
查看>>
Intellij修改模板代码
查看>>
2.页面布局示例笔记
查看>>
C++命名法则
查看>>
一些老游戏CPU 100%占用的解决方法
查看>>
f5基本介绍
查看>>
博前语
查看>>
Java SE核心之一:常用类,包装类,其他基本数据类型包装类。
查看>>
郑捷《机器学习算法原理与编程实践》学习笔记(第二章 中文文本分类(一))...
查看>>
python (ploit)
查看>>
Android 用achartengine 画折线图怎么显示不正确
查看>>
js 点击button跳转页面
查看>>
程序简单的测试与升级(暨实践第一次作业)
查看>>
数据的奇偶校验
查看>>
java 应用程序的打包发行
查看>>
信号处理
查看>>
浏览器调用摄像头
查看>>
socket,tcp,http三者之间的区别和原理
查看>>
【100题】第五十九题 用C++编写不能被继承的类
查看>>
轻描淡写
查看>>