最近在做一个微信小程序项,遇到了文章的详情页面是富文本的情况,内容是通过接口读取的服务器中的富文本内容,是html格式的,小程序默认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过wxParse来实现。
wxParse官方下载地址:https://github.com/icindy/wxParse
使用方法:
一,下载完之后我们需要用到此目录下的wxParse文件夹,把他拷贝到我们小程序项目的根目录下:
二,配置文件
首先在xx.wxml导入文件,在文件头写上:
<import src="../../wxParse/wxParse.wxml"/>
然后再wxss导入文件,在文件头写上:
@import "../../wxParse/wxParse.wxss";
三,在页面xx.js里面写上:
var WxParse = require('../../wxParse/wxParse.js');
onLoad: function (options) {
var that_ = this;
wx.request({
url: '',
headers:{
'Content-Type':'application/json'
},
success:function(rsp){
that_.setData({
'art': rsp.data
})
// rsp.data.body 富文本内容
var content_ = rsp.data.body;
WxParse.wxParse('content_', 'html', content_ , that_, 0);
}
})
}
四,在页面中引用模板
<import src='../../wxParse/wxParse.wxml'/>
<template is="wxParse" data="{{wxParseData:content_.nodes}}" />//这里data中content_为bindName
这样就可以在微信小程序中嵌入html内容啦~
此方法的含义为:
- WxParse.wxParse(bindName , type, data, target,imagePadding)
- 1.bindName绑定的数据名(必填)
- 2.type可以为html或者md(必填)
- 3.data为传入的具体数据(必填)
- 4.target为Page对象,一般为this(必填)
- 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)