微信小程序使用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 new一个对象的实质
Jan 07 Javascript
JavaScript中的property和attribute介绍
Dec 26 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
Dec 03 Javascript
通过url查找a元素应用案例
Apr 29 Javascript
javascript基于DOM实现权限选择实例分析
May 14 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
JS基于正则表达式的替换操作(replace)用法示例
Apr 28 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
Sep 27 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图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
js Calender控件使用详解
2015/01/05 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
Moment.js实现多个同时倒计时
2019/08/26 Javascript
vue 组件简介
2020/07/31 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
flask实现验证码并验证功能
2019/12/05 Python
生产车间班组长岗位职责
2014/01/06 职场文书
村抢险救灾方案
2014/05/09 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
2015年三万活动总结
2015/03/25 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
校运会新闻稿
2015/07/17 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书