小程序默认是不支持html格式的内容显示的,那我们需要显示html内容的时候,就可以通过wxParse来实现。

  首先我们下载wxParse,github地址:https://github.com/icindy/wxParse

1、下载完之后我们需要用到目录下的wxParse文件夹,把他拷贝到我们的项目目录下(与pages同级目录)

2、然后,在app.wxss全局样式文件中,需要引入wxParse的样式表

@import "wxParse/wxParse.wxss";

3、在需要加载html内容的页面对应的js文件里引入wxParse

const WxParse = require('../../wxParse/wxParse.js');

  通过调用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,可选)
// 获取问题详情
getIssueDetail (id) {
var that = this
app.ajaxGet('dbask/detail/' + id, {}, res => {
this.setData({
issue: res.data
})
if (that.data.issue.description) {
WxParse.wxParse('issue.description', 'html', that.data.issue.description, that);
}
var _data = that.data.issue.askItems
var _len = _data.length
for (var i = ; i < _len; i++) {
WxParse.wxParse('comment' + i, 'html', _data[i].comment, that);
if (i === _len - ) {
WxParse.wxParseTemArray("askItemsArr", 'comment', _data.length, that)
}
}
wx.hideLoading()
})
},

4、最后,在页面中引用模板

<import src="../../wxParse/wxParse.wxml"/>

<view class='issue_content'>
<template is="wxParse" data="{{wxParseData:issue.description.nodes}}"/>
</view>

  注意循环使用的时候,引用模板

<view class='issue_content'>
  <template is="wxParse" data="{{wxParseData:askItemsArr[index]}}"/>
</view>

  注意wxParse解析数组数据时,按照文档上的方法进行操作

      var _data = that.data.issue.askItems
var _len = _data.length
for (var i = ; i < _len; i++) {
WxParse.wxParse('comment' + i, 'html', _data[i].comment, that);
if (i === _len - ) {
WxParse.wxParseTemArray("askItemsArr", 'comment', _data.length, that)
}
}

  这个时候我们会发现askItemsArr里只有comment的数据,其他数组都消失了。

  那么在渲染数组时,我们就通过askItemsArr[index]去将数组传入

微信小程序显示html格式内容(wxParse使用及循环解析数据渲染)的更多相关文章

  1. 微信小程序-显示外链图片 bug

    微信小程序-显示外链图片 bug 显示外链图片 bug 403 bug 禁止外链,未授权 https://httpstatuses.com/403 image component 图片.支持 JPG. ...

  2. 微信小程序获取输入框(input)内容

    微信小程序---获取输入框(input)内容 wxml <input placeholder="请输入手机号码" maxlength="11" type= ...

  3. 微信小程序--仿微信小程序朋友圈Pro(内容发布、点赞、评论、回复评论)

    微信小程序--仿微信小程序朋友圈Pro(内容发布.点赞.评论.回复评论) 项目开源地址M朋友圈Pro 求个Star 项目背景 ​ 基于原来的开源项目 微信小程序仿朋友圈功能开发(发布.点赞.评论等功能 ...

  4. PHP 实现微信小程序敏感图片、内容检测接口

    主要是为了调用微信小程序msgSecCheck.imgSecCheck接口. 先附上小程序接口说明文档地址:https://developers.weixin.qq.com/miniprogram/d ...

  5. 微信小程序 获得用户输入内容

    在微信小程序里,如何获得用户输入的内容?? js: document.getElementById("Content").value jq:$("#Content&quo ...

  6. 微信小程序显示cms里的html文章

    首先在cms模版中将html文章转化为json数据,识别图片,文本和换行,过滤掉样式和标签.这里是用PHP的正则表达式函数来实现的,$content是cms里的html文章. <?php $_a ...

  7. 手持式停车收费管理系统全套案例,支持车牌识别,包含了android版app,微信小程序查询,响应式管理后台,云端大数据存储

    先展示几个app效果图片吧,使用起来非常方便,关联了机器的快捷键操作,操作速度提高了不少,摄像头车牌自动识别,车牌识别无网络情况下离线也可以使用   再来一张后台截图,停车场信息完整显示,今日数据实时 ...

  8. 微信小程序:wx.request之post请求后端无法获取数据的问题

    前言:小程序的开发中总是踩到各种坑,看文档也不知所云: 例如当我们在写微信小程序接口时,method请求方式有POST和GET两种,为了数据安全,我们会偏向于使用POST请求方式访问服务器端: 问题: ...

  9. 微信小程序开发--富文本插件wxParse的使用

    昨天一位网友问我小程序怎么解析富文本.他尝试过把html转出小程序的组件,但是还是不成功,我说可以把内容剥离出来.但是这两种方法都是不行了.后来找到了wxParse-微信小程序富文本解析组件. 特性 ...

随机推荐

  1. Bzoj4558:分类讨论 计算几何 组合数学

    国际惯例的题面: 这题让我爆肝啦......这种计数显然容斥,正好不含任何坏点的我们不会算,但是我们能算至少含零个坏点的,至少含一个坏点的,至少含两个坏点的......所以最终的答案就是(至少含零个坏 ...

  2. inline关键字的作用

    一.在C&C++中,inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义. 如下面一宏定义表达式: #define express(v1,v2) (v1 ...

  3. Who is YaoGe.(搞笑篇)

      耀哥是google的大牛.主持google各种牛逼分布式系统的设计,比方Mapreduce之类的,关于大神的传说,如同春哥一样多,当然,有些传说仅仅有程序猿能明确! 耀哥当初面试Google时.被 ...

  4. Optimizing Oracle RAC

    Oracle Real Application Clusters (RAC) databases form an increasing proportion of Oracle database sy ...

  5. 【Go命令教程】命令汇总

    [Go命令教程]1. 标准命令详解 [Go命令教程]2. go build [Go命令教程]3. go install [Go命令教程]4. go get [Go命令教程]5. go clean [G ...

  6. 【DevOps】谁说大象不能跳舞?

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 很多企业,尤其是大企业在产品开发和运维上存在着一些普遍问题,比如开发周期长.人员合作程度不高.开发和运 ...

  7. linux虚拟机与winodows共享文件夹----linux安装VMware tools

    虚拟机里面想要获取原来本机 系统的文件,十分麻烦.为了实现原系统与虚拟机的共享文件夹,可以通过安装vmware tools达到共享目的.   1 安装vmware tools (1)检查虚拟机上是否挂 ...

  8. ACE_Message_Queue和spawn实现(生产者/消费者)(V2.00)

    參考这里用到了线程管理.參考:http://blog.csdn.net/calmreason/article/details/36399697 以下的两个线程共享一个消息队列,一个用来放整数到队列,一 ...

  9. AngularJS自定义Directive不一定返回对象

    AngularJS中,当需要自定义Directive时,通常返回一个对象,就像如下的写法: angular.module('modulename') .directive('myDirective', ...

  10. C#中如何选择使用T[]或List<T>

    当有一组数据需要存放,到底是使用T[]呢,还是选择List<T>呢? 先来看数组. 所有的数组类型都隐式地从System.Array这个抽象类派生,而System.Array又派生自Sys ...