微信小程序使用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 相关文章推荐
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
Apr 12 Javascript
JavaScript调用ajax获取文本文件内容实现代码
Mar 28 Javascript
控制台报错object is not a function的解决方法
Aug 24 Javascript
JavaScript错误处理
Feb 03 Javascript
JS显示下拉列表框内全部元素的方法
Mar 31 Javascript
在浏览器中打开或关闭JavaScript的方法
Jun 03 Javascript
js实现的简洁网页滑动tab菜单效果代码
Aug 24 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
微信小程序实现实时圆形进度条的方法示例
Feb 24 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
Aug 15 Javascript
js实现3D旋转相册
Aug 02 Javascript
JS高级程序设计之class继承重点详解
Jul 07 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
再说下636单管机
2021/03/02 无线电
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
php图片上传类 附调用方法
2016/05/15 PHP
微信自定义分享php代码分析
2016/11/24 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
php实现简单四则运算器
2020/11/29 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
HTML5 js实现拖拉上传文件功能
2020/11/20 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
解决vue 打包发布去#和页面空白的问题
2018/09/04 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
koa源码中promise的解读
2018/11/13 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
antd的select下拉框因为数据量太大造成卡顿的解决方式
2020/10/31 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
初学python数组的处理代码
2011/01/04 Python
Python使用MONGODB入门实例
2015/05/11 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
管理学专业个人求职信范文
2013/09/21 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python