微信小程序显示html格式内容(wxParse使用及循环解析数据渲染)

  小程序默认是不支持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 = 0; i < _len; i++) {
        WxParse.wxParse('comment' + i, 'html', _data[i].comment, that);
        if (i === _len - 1) {
          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 = 0; i < _len; i++) {
        WxParse.wxParse('comment' + i, 'html', _data[i].comment, that);
        if (i === _len - 1) {
          WxParse.wxParseTemArray("askItemsArr", 'comment', _data.length, that)
        }
      }

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

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

转载于:https://www.cnblogs.com/goloving/p/10513322.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值