小程序默认是不支持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. hdu 4452 37届金华赛区 K题

    题意:给一个n*n的格子,1在左上角,2在右下角,每个人有一个初始速度和方向,若遇到边缘,则朝相反方向前进,若两个人相遇则交换方向(注意方向改变后,人仍然需要移动),同时,每个人每过t1,t2时间就会 ...

  2. hdu 4442 37届金华赛区 A题

    题意:给出一些队伍,每个队伍有初始等待时间和每秒增加的时间,求最短时间 假设有两个队初始时间和每秒增加时间为a1,b1和a2,b2 若第选择第一个的时间小于第二个,则 a1+a2+a1*b2<a ...

  3. Educational Codeforces Round 14 B. s-palindrome 水题

    B. s-palindrome 题目连接: http://www.codeforces.com/contest/691/problem/B Description Let's call a strin ...

  4. STM32 TIMER DIAGRAM

  5. Git 代码更新:git fetch 和 git pull 的区别

    Git 从远程的分支获取最新的版本到本地有这样 2 个命令: 1. git fetch:相当于是从远程获取最新版本到本地,但不会自动 merge git fetch origin master git ...

  6. discuz修改太阳,月亮,星星等级图标

    想必大家都想修改一下默认的等级图标吧,刚才在论坛上看见很多大神的方法都是要修改文件的,不过为了安全起见需要事先备份好才改,这种方法是可行的,但可能有些新手站长不会修改,又或者改错了恢复不来,现在我教大 ...

  7. 任务失败,因为未找到“AxImpexe”,或未安装正确的 Microsoft Windows SDK

    jenkins自动构建.net时发生错误,查看Console Output看到如下错误: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft ...

  8. Android的学习之路(三)项目的启动过程和安装过程具体解释

    应用的安装和启动过程: 安装:第一步:java的编译器会把这个.java文件编译成.class文件           第二部:Android的SDK提供了一个dx工具,这个工具把.class文件转义 ...

  9. 淡淡理解下AngularJS中的module

    在AngularJS中module是一个核心的存在,包括了很多方面,比如controller, config, service, factory, directive, constant, 等等. 在 ...

  10. 避免string.Format方法的装箱

    我们知道,使用string.Format方法可能会存在装箱的情况.比如如下: static void Main(string[] args) { string s = string.Format(&q ...