微信小程序使用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 相关文章推荐
多浏览器支持的右下角浮动窗口
Apr 01 Javascript
javascript中match函数的用法小结
Feb 08 Javascript
中止javascript执行的方法
Feb 14 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 Javascript
jQuery基于图层模仿五星星评价功能的方法
May 07 Javascript
jQuery实现简单的文件上传进度条效果
Mar 26 Javascript
JavaScript简单生成 N~M 之间随机数的方法
Jan 13 Javascript
js实现交通灯效果
Jan 13 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
javascript 数据存储的常用函数总结
Jun 01 Javascript
Node.js创建一个Express服务的方法详解
Jan 06 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操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
2013/06/04 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
JavaScript实现tab栏切换效果
2020/03/16 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
Python删除windows垃圾文件的方法
2015/07/14 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python使用多进程的实例详解
2018/09/19 Python
python实现可逆简单的加密算法
2019/03/22 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
资产经营总监岗位职责
2013/12/04 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
中学教师师德承诺书
2014/05/23 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python