wxParse解析大量数据

        最近在做一个微信小程序项目,需要将服务器中的富文本内容解析,然后就开始向google,度娘请教,发现了wxParse插件:

插件地址:https://github.com/icindy/wxParse

将下载下来的wxParse文件夹放到项目中

    使用方法:

    在需要的页面中引用样式,js(看github介绍)

   接下来介绍怎么处理大量数据:     

1、因为wxParse中循环解析是逐条返回的,容易导致页面卡死,所以可以建一个js文件用来将数据整合为一个数组。

function my_rich(replyArr, name ,that) {

  if (!replyArr){

    return true;

  }

  var name = [];

  for (let i = 0; i < replyArr.length; i++) {  //解析富文本

    var re_title = WxParse.wxParseTest('reply' + i, 'html', replyArr[i].title, that); //题目

    name[i] = re_title;

  }

  return name;

}

replArr:要处理的数组

name:在页面中的变量中

在wxParse文件夹下的wxParse.js中新建wxParseTest方法

function wxParseTest(bindName = 'wxParseData', type = 'html', data = '<div class="color:red;">数据不能为空</div>', target, imagePadding) {

  var that = target;

  var transData = {};//存放转化后的数据

  if (type == 'html') {

    transData = HtmlToJson.html2json(data, bindName);

    //console.log(JSON.stringify(transData, ' ', ' '));

  } else if (type == 'md' || type == 'markdown') {

    var converter = new showdown.Converter();

    var html = converter.makeHtml(data);

    transData = HtmlToJson.html2json(html, bindName);

    //console.log(JSON.stringify(transData, ' ', ' '));

  }

  transData.view = {};

  transData.view.imagePadding = 0;

  if (typeof (imagePadding) != 'undefined') {

    transData.view.imagePadding = imagePadding

  }

  that.wxParseImgLoad = wxParseImgLoad;

  that.wxParseImgTap = wxParseImgTap;

  return transData.nodes;

}

2、将返回值传给模板:


写的有点乱,有用到的可以留言交流。

lzn博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论