最近公司在開發(fā)OTA微信小程序勋陪,一些頁面的詳情內(nèi)容是HTML富文本格式的的硫兰,但是微信小程序不能直接解析HTML,需要將內(nèi)容中的HTML標(biāo)簽轉(zhuǎn)換成微信小程序所支持的標(biāo)簽违孝。
開始的時候想過自己寫方法來替換標(biāo)簽泳赋,后來找到了一個很好用的插件:WxParse。
今天分享給大家校坑,Github地址:https://github.com/icindy/wxParse
使用WxParse解析富文本數(shù)據(jù)
1.將下載下來的插件文件夾復(fù)制到我們的項目根目錄下(其中emojis文件可根據(jù)自己所需決定要或者不要,其他的文件必須要)
- wxParse/
-wxParse.js(必須存在)
-html2json.js(必須存在)
-htmlparser.js(必須存在)
-showdown.js(必須存在)
-wxDiscode.js(必須存在)
-wxParse.wxml(必須存在)
-wxParse.wxss(必須存在)
-emojis(表情包文件耍目,可選)
wxParse.png
2.在需要使用該插件的View(.js文件)中引入WxParse模塊
Var WxParse= require('../../../wxParse/wxParse.js');
3.在需要是用的wxss中引入WxParse.wxss邪驮,也可以在app.wxss中引入
@import"../../../wxParse/wxParse.wxss";
4.進(jìn)行數(shù)據(jù)綁定
Var article= '<div>我是HTML代碼</div>';
/**
* WxParse.wxParse(bindName , type, data,target,imagePadding)
* 1.bindName綁定的數(shù)據(jù)名(必填)
* 2.type可以為html或者md(必填)
* 3.data為傳入的具體數(shù)據(jù)(必填)
* 4.target為Page對象,一般為this(必填)
** 5.imagePadding為當(dāng)圖片自適應(yīng)是左右的單一padding(默認(rèn)為0,可選)
*/
var that = this;
WxParse.wxParse('article', 'html', article,that, 5);
5.在內(nèi)容頁(.wxml文件)中引用該模版文件,其中data中article為bindName
導(dǎo)入文件
<import src="../../../wxParse/wxParse.wxml" />
引用模版
<template is="wxParse" data="{{wxParseData:article.nodes}}" />
完成后頁面就能夠正常渲染HTML富文本數(shù)據(jù)了
示例.png