簡介html
微信小程序中好比活動說明,簡介這樣的圖文介紹說明頁面,後臺一般配置成富文本編輯框,由後臺直接輸入內容,而後在小程序界面展示。node
可是富文本編輯提取到內容是html格式的,寫法與小程序的wxml並不一致,那麼怎麼樣才能作到富文本可以在小程序頁面中顯示呢?git
解決辦法github
有位大牛開發了一個模板叫做wxParse,能夠直接引入小程序使用。下面把大牛的github地址貼上來:小程序
https://github.com/icindy/wxParse微信小程序
想要了解更多的同窗能夠直接去他的github下查看說明文檔。微信
引入方式及使用方法app
wxml文件代碼:xss
<view class="container"> <scroll-view class="intro-box" scroll-y="true"> <view class="intro-live"> <!-- 引入模板 --> <import src="../../../components/wxParse/wxParse.wxml"/> <!-- 這裏data中article爲bindName --> <template is="wxParse" data="{{wxParseData:article.nodes}}"/> </view> </scroll-view> </view>
個人頁面結構,能夠做爲參考ide
下面是wxss頁面代碼,主要是引入wxParse.wxss,別的都是根據你本身頁面須要另外寫的。
@import "../../../components/wxParse/wxParse.wxss"; page{ width: 100%; height: 100%; background: #e4382e; overflow: auto; }
下面是js代碼:
//獲取應用實例 const app = getApp() //引入wxParse var WxParse = require('../../../components/wxParse/wxParse.js'); Page({ /** * 頁面的初始數據 */ data: { }, /** * 生命週期函數--監聽頁面加載 */ onLoad: function (options) { wx.showLoading({ title: '加載中', mask: true }) var that = this; console.log(options) that.setData({ activityId: options.activityId }) wx.request({ url: app.globalData.subDomain + '/GetActivityInfo', data: { token: app.globalData.token, activity: that.data.activityId }, method: 'POST', success: function(res){ //獲取html代碼 that.setData({ article: unescape(res.data.activity.aintroduct) }) WxParse.wxParse('article', 'html', that.data.article, that, 5); wx.hideLoading(); } }) }
js部分要注意兩點:
第一點是在page函數以前引入wxParse
第二點是在獲取到html後執行
WxParse.wxParse('article', 'html', that.data.article, that, 5)
其中的article就是獲取到的html代碼
小結
這類文章相信也有很多,我能學會使用既有同事幫忙,也本身查看了很多博客資料。這種組件的寫法仍是老式的小程序寫法,小程序新版的組件寫法已經跟如今不同了,不知道這個插件的開發者之後會不會也轉換爲最新的方式。總之,如今小程序仍是支持這種寫法的。
若是有更好的實現方式,請必定要留下評論告知,謝謝。