最近項目上遇到在html">微信小程序里需要顯示新聞內容,新聞內容是通過接口讀取的服務器中的富文本內容,是html格式的,小程序默認是不支持html格式的內容顯示的,那我們需要顯示html內容的時候,就可以通過wxParse來實現。
首先我們在github上下載wxParse
https://github.com/icindy/wxParse
下載完之后我們需要用到目錄下的wxParse文件夾,把他拷貝到我們的項目目錄下
下面是具體的使用步驟
1.在app.wxss全局樣式文件中,需要引入wxParse的樣式表
@import "/page/wxParse/wxParse.wxss";
2.在需要加載html內容的頁面對應的js文件里引入wxParse
var WxParse = require('../../wxParse/wxParse.js');
3.通過調用WxParse.wxParse方法來設置html內容
/*** WxParse.wxParse(bindName , type, data, target,imagePadding)* 1.bindName綁定的數據名(必填)* 2.type可以為html或者md(必填)* 3.data為傳入的具體數據(必填)* 4.target為Page對象,一般為this(必填)* 5.imagePadding為當圖片自適應是左右的單一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內容了
wxParse多數據循環使用方法
方法介紹
/*** WxParse.wxParseTemArray(temArrayName,bindNameReg,total,that)* 1.temArrayName: 為你調用時的數組名稱* 3.bindNameReg為循環的共同體 如綁定為reply1,reply2...則bindNameReg = 'reply'* 3.total為reply的個數*/var that = this;WxParse.wxParseTemArray("replyTemArray",'reply', replyArr.length, that)
使用方式
循環綁定數據
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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答