微信小程序使用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 相关文章推荐
用RadioButten或CheckBox实现div的显示与隐藏
Sep 21 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
JQuery实现图片轮播效果
Sep 15 Javascript
Javascript typeof与instanceof的区别
Oct 18 Javascript
js仿淘宝商品放大预览功能
Mar 15 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
Vue基于NUXT的SSR详解
Oct 24 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
Oct 09 Javascript
vue使用vuex实现首页导航切换不同路由的方法
May 08 Javascript
npm的lock机制解析
Jun 20 Javascript
JavaScript生成随机验证码代码实例
Sep 28 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制作文本式留言板
2015/03/18 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
JS 控件事件小结
2012/10/31 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
解析Python中的异常处理
2015/04/28 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Python面向对象特殊属性及方法解析
2020/09/16 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
夜大自我鉴定
2013/10/31 职场文书
绩效考核实施方案
2014/03/18 职场文书
出国英文推荐信
2014/05/10 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
2014年会计工作总结
2014/11/27 职场文书
2014公司年终工作总结
2014/12/19 职场文书
小学母亲节活动总结
2015/02/10 职场文书
审美与表现自我评价
2015/03/09 职场文书
CAD实训总结范文
2015/08/03 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js