微信小程序顯示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]去將數組傳入


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM