微信小程序使用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 相关文章推荐
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
10个实用的脚本代码工具
May 04 Javascript
javascript 函数调用的对象和方法
Jul 01 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
jsonp原理及使用
Oct 28 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
jquery结合html实现中英文页面切换
Nov 29 Javascript
JavaScript实现星星等级评价功能
Mar 22 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
Nuxt的路由配置和参数传递方式
Nov 06 Javascript
Vue如何清空对象
Mar 03 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
4.与数据库的连接
2006/10/09 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
javascript每日必学之封装
2016/02/23 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
JavaScript设计模式之构造函数模式实例教程
2018/07/02 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
vue中路由跳转不计入history的操作
2020/09/21 Javascript
实现vuex原理的示例
2020/10/21 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
Python中的__SLOTS__属性使用示例
2015/02/18 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
Python中的整除和取模实例
2020/06/03 Python
python线程里哪种模块比较适合
2020/08/02 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
公司同意接收函
2014/01/13 职场文书
优秀教师主要事迹
2014/02/01 职场文书
文秘大学生求职信
2014/02/25 职场文书
项目建议书格式
2014/03/12 职场文书
专家推荐信模板
2014/05/09 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
上班离岗检讨书
2014/09/10 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书