微信小程序使用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入门教程(8) Location地址对象
Jan 31 Javascript
js特殊字符转义介绍
Nov 05 Javascript
js操作模态窗口及父子窗口间相互传值示例
Jun 09 Javascript
javascript工厂方式定义对象
Dec 26 Javascript
js获取会话框prompt的返回值的方法
Jan 10 Javascript
javascript实现动态改变层大小的方法
May 14 Javascript
JavaScript对象参数的引用传递
Jan 14 Javascript
jQuery实现图片局部放大镜效果
Mar 17 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
Aug 02 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
element-ui 实现响应式导航栏的示例代码
May 08 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缓存技术介绍
2006/11/25 PHP
paypal即时到账php实现代码
2010/11/28 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
js 通用javascript函数库整理
2011/08/14 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
简单谈谈json跨域
2016/03/13 Javascript
bootstrap 设置checkbox部分选中效果
2017/04/20 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
vue 计时器组件的实现代码
2017/09/14 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
Python搜索引擎实现原理和方法
2017/11/27 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
新学期红领巾广播稿
2014/01/14 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
秋菊打官司观后感
2015/06/03 职场文书
小学生手册家长意见
2015/06/03 职场文书
狂人日记读书笔记
2015/06/30 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers