国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

微信小程序如何渲染html內容(示例講解)

2020-03-24 16:04:33
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于html' target='_blank'>微信小程序如何渲染html內容(示例講解),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

最近又做了一個新的小程序關于物流訂單查詢

遇到了一個小問題:數據中返回電話號碼的字符串識別出來并且高亮和可以綁定事件。比如數據中包含您的派送員黃xx正在派件,電話:137xxxx41460已經在派送。其中就要識別出137xxxx41460并且綁定點擊事件可以點擊撥打電話號碼。

對于這個功能搜集了不少資料其中包含了3個解決方案但是各有優缺點因此記錄下來

wxParse
小程序剛上線那會兒,是無法直接渲染HTML內容的,于是就誕生了一個叫做「 wxParse 」的庫。它的原理就是把HTML代碼解析成樹結構的數據,再通過小程序的模板把該數據渲染出來。

rich-text
后來,小程序增加了「rich-text」組件用于展示富文本內容。然而,這個組件存在一個極大的限制: 組件內屏蔽了所有節點的事件 。也就是說,在該組件內,連「預覽圖片」這樣一個簡單的功能都無法實現。

web-view
再后來,小程序允許通過「web-view」組件嵌套網頁,通過網頁展示HTML內容是兼容最好的解決方案了。然而,因為要多加載一個頁面,性能是較差的,個人小程序也是沒法用webview。

因為我這個只是需求只是需要識別出來電話號碼并且不是那種復雜的字符模板。因此參考wxparse 的原理自己寫了一個關于電話號碼識別的功能。

效果如下:

1672345876-5c0773766b340_articlex.jpg

技術重點就是

1、在數據返回后對于字符串用正則(/(1+)|(d{9,14})|(d{3,4}-d{6,10})/g)識別出電話號碼存在一個新的字段并且表示為type:phone ,不是電話號碼的字符就放到另外一個字段并且表示為type:text.數據結構如圖所示

378127035-5c0773a7686f9_articlex.jpg

2、新建一個關于字段讀取的模板

 template name= wepyhtml  block wx:for= {{wxmlData}} wx:key=  template is= wxml data= {{item}} /template  /block  /template  template name= wxml  block wx:if= {{item.type == phone }} wx:key=  text >

其中,在模板里面綁定點擊事件方便后期做邏輯處理還可以綁定不同的參數方便獲取

3、在需要用到的地方引入模板

 import src= /components/html.wxml /  template is= wepyhtml data= {{wxmlData:item.nodes}} /template 

那就滿足現在的功能呢需求了。不用復雜的插件也比直接引入原生組件來得方便。關鍵就是思路。。特此記錄

以上就是微信小程序如何渲染html內容(示例講解)的詳細內容,其它編程語言

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 瑞金市| 尉氏县| 枣强县| 乡城县| 龙陵县| 仁怀市| 甘孜县| 榕江县| 佳木斯市| 鄂托克前旗| 三穗县| 保山市| 商丘市| 泸西县| 武山县| 梓潼县| 丽江市| 锦州市| 介休市| 玛沁县| 织金县| 延津县| 桓仁| 湖北省| 庆阳市| 井陉县| 十堰市| 高陵县| 西乌| 华阴市| 江城| 息烽县| 石棉县| 理塘县| 浦城县| 南皮县| 红原县| 武隆县| 阿合奇县| 清镇市| 綦江县|