wxParse-微信小程序富文本解析组件

1,864 阅读1分钟

官方: github.com/icindy/wxPa…

一个完美解析 html 的组件(支持Html及markdown转wxml可视化)

特性

支持特性实验功能ToDo
- [x] HTML的大部分标签解析[x] 小表情emjio[x] table标签
- [x] 内联style[x] a标签跳转
- [x] 标签Class[x] 动态添加
- [x] 图片自适应规则
- [x] 图片多图片预览
- [x] 模版层级可扩展性
- [x] 多数据循环方式
- [x] 内联style

基本使用方法

  • 下载文件后 把 wxParse 文件放入项目中,(一般放在utils文件)
- wxParse/
  -wxParse.js(必须存在)
  -html2json.js(必须存在)
  -htmlparser.js(必须存在)
  -showdown.js(必须存在)
  -wxDiscode.js(必须存在)
  -wxParse.wxml(必须存在)
  -wxParse.wxss(必须存在)
  -emojis(可选)
  • 引入必要文件
// 在需要使用该组件的 js 文件中引入 wxParse.js
var WxParse = require('../../../utils/wxParse/wxParse.js');
// 在需要使用该组件的 wxss 文件中引入 wxParse.wxss
@import "../../../utils/wxParse/wxParse.wxss";
  • 数据绑定
var article = '<div>我是HTML代码</div>';
/**
* WxParse.wxParse(bindName , type, data, target,imagePadding)
* 1.bindName绑定的数据名(必填)
* 2.type可以为html或者md(必填)
* 3.data为传入的具体数据(必填)
* 4.target为Page对象,一般为this(必填)
* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
*/
var that = this;
WxParse.wxParse('article', 'html', article, that, 5);

----------------------------------------------------------------

// 使用 
// 在需要使用该组件的 js 文件中调用
var that = this;
WxParse.wxParse('article', 'html', 后台返回的html数据, that, 0);
  • 模版引用
// 在需要使用该组件的 wxml 文件中引入 模板

<import src="../../../utils/wxParse/wxParse.wxml"/>

//这里data中article为bindName
<template is="wxParse" data="{{ wxParseData: article.nodes }}"/>