最近项目上遇到在微信小程序里需要显示新闻内容,新闻内容是通过接口读取的服务器中的富文本内容,是html格式的,小程序默认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过wxParse来实现。
首先我们在github上下载wxParse
https://github.com/icindy/wxParse
![](https://i-blog.csdnimg.cn/blog_migrate/5c5825d6e3dfc70b23aeaa3a28b1abaf.png)
下载完之后我们需要用到目录下的wxParse文件夹,把他拷贝到我们的项目目录下
下面是具体的使用步骤
1.在app.wxss全局样式文件中,需要引入wxParse的样式表
?
1 | @import "/page/wxParse/wxParse.wxss" ; |
2.在需要加载html内容的页面对应的js文件里引入wxParse
?
1 | var WxParse = require( '../../wxParse/wxParse.js' ); |
3.通过调用WxParse.wxParse方法来设置html内容
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /** * 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.在页面中引用模板
?
1 2 | <import src= "../../wxParse/wxParse.wxml" /> <template is= "wxParse" data= "{{wxParseData:article.nodes}}" /> |
这样就可以在微信小程序中嵌入html内容了
![](https://i-blog.csdnimg.cn/blog_migrate/3c6a8d98d1ccd586197bee88b5dbc9a0.png)
wxParse多数据循环使用方法
方法介绍
?
1 2 3 4 5 6 7 8 | /** * 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) |
使用方式
循环绑定数据
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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) } } |
模版使用
?
1 2 3 | < block wx:for = "{{replyTemArray}}" wx:key = "" > 回复{{index}}:< template is = "wxParse" data = "{{wxParseData:item}}" /> </ block > |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持主机吧。