微信小程序使用wxParse解析html的實現(xiàn)示例
最近項目上遇到在微信小程序里需要顯示新聞內(nèi)容,新聞內(nèi)容是通過接口讀取的服務(wù)器中的富文本內(nèi)容,是html格式的,小程序默認是不支持html格式的內(nèi)容顯示的,那我們需要顯示html內(nèi)容的時候,就可以通過wxParse來實現(xiàn)。
首先我們在github上下載wxParse
https://github.com/icindy/wxParse

下載完之后我們需要用到目錄下的wxParse文件夾,把他拷貝到我們的項目目錄下
下面是具體的使用步驟
1.在app.wxss全局樣式文件中,需要引入wxParse的樣式表
@import "/page/wxParse/wxParse.wxss";
2.在需要加載html內(nèi)容的頁面對應(yīng)的js文件里引入wxParse
var WxParse = require('../../wxParse/wxParse.js');
3.通過調(diào)用WxParse.wxParse方法來設(shè)置html內(nèi)容
/**
* 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為當圖片自適應(yīng)是左右的單一padding(默認為0,可選)
*/
Page({
data: {
},
onLoad: function () {
var that = this;
wx.request({
url: '',
method: 'POST',
data: {
'id':13
},
header: {
'content-type': 'application/json'
},
success: function(res) {
var article = res.data[0].post;
WxParse.wxParse('article', 'html', article, that,5);
}
})
}
})
4.在頁面中引用模板
<import src="../../wxParse/wxParse.wxml"/>
<template is="wxParse" data="{{wxParseData:article.nodes}}"/>
這樣就可以在微信小程序中嵌入html內(nèi)容了

wxParse多數(shù)據(jù)循環(huán)使用方法
方法介紹
/**
* WxParse.wxParseTemArray(temArrayName,bindNameReg,total,that)
* 1.temArrayName: 為你調(diào)用時的數(shù)組名稱
* 3.bindNameReg為循環(huán)的共同體 如綁定為reply1,reply2...則bindNameReg = 'reply'
* 3.total為reply的個數(shù)
*/
var that = this;
WxParse.wxParseTemArray("replyTemArray",'reply', replyArr.length, that)
使用方式
循環(huán)綁定數(shù)據(jù)
var replyHtml0 = `<div style="margin-top:10px;height:50px;"><p class="reply"> wxParse回復0:不錯,喜歡[03][04] </p> </div>`;
var replyHtml1 = `<div style="margin-top:10px;height:50px;"> <p class="reply"> wxParse回復1:不錯,喜歡[03][04] </p> </div>`;
var replyHtml2 = `<div style="margin-top:10px;height:50px;"> <p class="reply"> wxParse回復2:不錯,喜歡[05][07] </p> </div>`;
var replyHtml3 = `<div style="margin-top:10px;height:50px;"> <p class="reply"> wxParse回復3:不錯,喜歡[06][08] </p> </div>`;
var replyHtml4 = `<div style="margin-top:10px; height:50px;"> <p class="reply"> wxParse回復4:不錯,喜歡[09][08] </p> </div>`;
var replyHtml5 = `<div style="margin-top:10px;height:50px;"> <p class="reply"> wxParse回復5:不錯,喜歡[07][08] </p> </div>`;
var replyArr = [];
replyArr.push(replyHtml0);
replyArr.push(replyHtml1);
replyArr.push(replyHtml2);
replyArr.push(replyHtml3);
replyArr.push(replyHtml4);
replyArr.push(replyHtml5);
for (let i = 0; i < replyArr.length; i++) {
WxParse.wxParse('reply' + i, 'html', replyArr[i], that);
if (i === replyArr.length - 1) {
WxParse.wxParseTemArray("replyTemArray",'reply', replyArr.length, that)
}
}
模版使用
<block wx:for="{{replyTemArray}}" wx:key="">
回復{{index}}:<template is="wxParse" data="{{wxParseData:item}}"/>
</block>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js中調(diào)用微信的掃描二維碼功能的實現(xiàn)代碼
這篇文章主要介紹了在js中調(diào)用微信的掃描二維碼功能的實現(xiàn)代碼,本文給大家分享了注意事項及常見問題分析,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
javascript 觸發(fā)HTML元素綁定的函數(shù)
只能觸發(fā)函數(shù)的執(zhí)行,并不能完全模擬出實際的點擊。2010-09-09

