微信小程序rich-text富文本用法实例分析


Posted in Javascript onMay 20, 2019

本文实例讲述了微信小程序rich-text富文本用法。分享给大家供大家参考,具体如下:

rich-text是一个新增的微信小程序插件,从基础库1.4.0开始,低版本需要做兼容处理

nodes属性可为Array和String类型,但推荐使用Array.由于String类型最终也会转为Array类型

nodes分为支持两种节点,分别为元素节点(type=node ,默认为元素节点)文本节点(type=text)

元素节点

name 标签名 String 支持部分受信任的HTML节点
attrs 属性 Object 支持部分受信任的属性,遵循Pascal命名法
children 子节点列表 Array 结构和nodes一致
<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
<!--{{nodes}}其中的变量名与data中名字相同-->
<!--支持默认事件tap、touchstart、touchmove、touchcancel、touchend和longtap-->
// rich-text.js
Page({
 data: {
 nodes: [{
 name: 'div',
 attrs: {
 class: 'div_class',
 style: 'width : 100px; height : 100px; color: red;'
 },
 children: [{
 type: 'text',
 text: 'Hello World!'
 }]
 }]
 },
 tap() {
 console.log('tap')
 }
})

如果页面中存在多个富文本,富文本中存在多个孩子,请看下例:

<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}"></rich-text>
<rich-text nodes="{{nodes1}}"></rich-text>
// rich-text.js
Page({
 data: {
 nodes: [{
 name: 'div',
 attrs: {
 class: 'div_class',
 style: 'width : 100px; height : 100px; color: red;'
 },
 children: [{
 type: 'text',
 text: 'Hello World!'
 }]
 }],
 nodes1: [{
 name: 'p',
 attrs: {
 class: 'p_class',
 style: 'text-align : center; color: green;'
 },
 children: [{
 type: 'text',
 text: '我是p标签!!!'
 },{
 name: "span",
 attrs: {
  style: "color:red",
  class: "span_class"
 },
 children: [{
  type: "text",
  text: '我是span标签,哈哈哈哈'
 }]
 }]
 }]
 },
})

文本节点

text 文本 String 支持entities
<!-- rich-text.wxml -->
<rich-text nodes="{{nodes}}"></rich-text>
// rich-text.js
Page({
 data: {
 nodes: "我是文本节点,意外不?"
 },
})

注意:

  • 全局支持class和style属性,不支持id属性。
  • nodes 不推荐使用 String 类型,性能会有所下降
  • rich-text 组件内屏蔽所有节点的事件。
  • name 属性大小写不敏感
  • 如果使用了不受信任的HTML节点,该节点及其所有子节点将会被移除,受信任的html节点请看官方文档
  • img 标签仅支持网络图片

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
不要小看注释掉的JS 引起的安全问题
Dec 27 Javascript
js 创建快捷方式的代码(fso)
Nov 19 Javascript
jquery设置控件位置的方法
Aug 21 Javascript
JS图片切换的具体方法(带缩略图版)
Nov 12 Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 Javascript
AngularJs实现ng1.3+表单验证
Dec 10 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
Dec 20 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
Aug 11 Javascript
JS实现身份证输入框的输入效果
Aug 21 Javascript
在Chrome DevTools中调试JavaScript的实现
Apr 07 Javascript
在vue中使用Echarts画曲线图的示例
Oct 03 Javascript
bootstrap中的导航条实例代码详解
May 20 #Javascript
详解小程序云开发数据库
May 20 #Javascript
VUE脚手架具体使用方法
May 20 #Javascript
Vue CLI2升级至Vue CLI3的方法步骤
May 20 #Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 #Javascript
微信小程序上传文件到阿里OSS教程
May 20 #Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
May 20 #Javascript
You might like
php发送邮件的问题详解
2015/06/22 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
推荐dojo学习笔记
2007/03/24 Javascript
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
vue中本地静态图片路径写法
2018/03/06 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python celery分布式任务队列的使用详解
2019/07/08 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
请介绍一下Ant
2016/07/22 面试题
会计找工作求职信范文
2013/12/09 职场文书
追悼会上的答谢词
2014/01/10 职场文书
法制报告会主持词
2014/04/02 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
外出学习心得体会范文
2016/01/18 职场文书