微信小程序使用wxParse解析html的实现示例


Posted in Javascript onAugust 30, 2018

最近项目上遇到在微信小程序里需要显示新闻内容,新闻内容是通过接口读取的服务器中的富文本内容,是html格式的,小程序默认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过wxParse来实现。

首先我们在github上下载wxParse

https://github.com/icindy/wxParse

微信小程序使用wxParse解析html的实现示例

下载完之后我们需要用到目录下的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解析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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
JS去除右边逗号的简单方法
Jul 03 Javascript
js修改原型的属性使用介绍
Jan 26 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
14 个折磨人的 JavaScript 面试题
Aug 08 Javascript
标准的js无缝滚动效果
Aug 30 Javascript
概述如何实现一个简单的浏览器端js模块加载器
Dec 07 Javascript
浅谈Node.js:fs文件系统模块
Dec 08 Javascript
Bootstrap CSS组件之导航条(navbar)
Dec 17 Javascript
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
利用JS代码自动删除稿件的普通弹幕功能
Sep 20 Javascript
vue中rem的配置的方法示例
Aug 30 #Javascript
Vue2实时监听表单变化的示例讲解
Aug 30 #Javascript
vue-swiper的使用教程
Aug 30 #Javascript
分享vue里swiper的一些坑
Aug 30 #Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 #Javascript
小程序图片长按识别功能的实现方法
Aug 30 #Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
Aug 30 #Javascript
You might like
二招解决php乱码问题
2012/03/25 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
jquery选择器(常用选择器说明)
2010/09/28 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
微信小程序实现美团菜单
2018/06/06 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
[15:46]教你分分钟做大人——沙王
2015/03/11 DOTA
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
利用python发送和接收邮件
2016/09/27 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python 修改列表中的元素方法
2018/06/26 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
广告学专业应届生求职信
2013/10/01 职场文书
工商管理本科毕业生求职信范文
2013/10/05 职场文书
工地安全生产标语
2014/06/06 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript