微信小程序使用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高级程序设计》阅读笔记(二) ECMAScript中的原始类型
Feb 27 Javascript
javascript实现的一个带下拉框功能的文本框
May 08 Javascript
JavaScript中获取Radio被选中的值
Nov 11 Javascript
jQuery同步提交示例代码
Dec 12 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
Apr 11 Javascript
JS实现元素上下左右移动效果
Oct 18 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
Oct 27 Javascript
利用vue+elementUI实现部分引入组件的方法详解
Nov 22 Javascript
微信小程序数据存储与取值详解
Jan 30 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
Jan 23 Javascript
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
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缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
js常用排序实现代码
2010/12/28 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
node-webkit打包成exe文件被360误报木马的解决方法
2015/03/11 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
浅谈layui分页控件field参数接收对象的问题
2019/09/20 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
2020/04/25 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
python中查看变量内存地址的方法
2015/05/05 Python
Python pass详细介绍及实例代码
2016/11/24 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
全球最大的服务市场:Fiverr
2017/01/03 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
介绍一下OSI七层模型
2012/07/03 面试题
家长对孩子评语
2014/01/30 职场文书
元旦晚会主持词
2014/03/24 职场文书
疾病捐款倡议书
2014/05/13 职场文书
党支部书记岗位职责
2015/02/15 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
JavaScript数组 几个常用方法总结
2021/11/11 Javascript
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
redis复制有可能碰到的问题汇总
2022/04/03 Redis