• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序 HTML解析方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这里推荐使用rich-text 我觉得蛮简单方便的。如果没有显示记得放view标签里试试。

一、rich-text

微信小程序自带的标签

用法:

nodes 里可以直接传HTML代码,也可以通过变量传,rich-text还可以放在循环里

<rich-text nodes="xxx"></rich-text>

 <rich-text nodes="{{xxx}}"></rich-text>

 <rich-text nodes="{{item.xxx}}"></rich-text>
 
 
二、wxParse插件
 
1.wxParse代码仓库:https://github.com/icindy/wxParse  下载,

 把上图选中的文件夹放入小程序中,(可以放在工具包下、根目录都可以)。

 

2.在你需要的js文件下引入:(根据自己的路径)

var WxParse = require(\'../../../wxParse/wxParse.js\');
应该还有一种写法 :
import {WxParse} from \'../../../wxParse/wxParse.js\'   (没实验,应该也行得通)
还有需要的wxss中引入:(没有样式可以略)
@import \'../../../wxParse/wxParse.wxss\';
还有wxml中引入:
<import src="../../../wxParse/wxParse.wxml"/>
 
3.
/**
* WxParse.wxParse(bindName , type, data, target,imagePadding)
* 1.bindName绑定的数据名(必填)
* 2.type可以为html或者md(必填)
* 3.data为传入的具体数据(必填)
* 4.target为Page对象,一般为this(必填)
* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
*/
3.1 (单个)例子  
    js中:
var article = "<div>&nbsp;&nbsp;早</div>"; 
WxParse.wxParse(\'article\', \'html\', article, that,5);

wxml显示:
<template is="wxParse" data="{{wxParseData:article.nodes}}"/>
3.2(循环)例子
js中:
1 data: {
2    contentList:[],
3    msgArr:[],//列表中渲染数据的数组
4    msgListArr:[],//这个用来接收每次请求到的数据叠加数组(重要用于上拉加载更多,多次请求)
5   },
contentList数组里的数据我是从后台取的,
我的数据格式:(最初是没有contentCopy[];这个数据正是我们所需要的)


/**
* WxParse.wxParseTemArray(temArrayName,bindNameReg,total,that)
* 1.temArrayName: 为你调用时的数组名称
* 3.bindNameReg为循环的共同体 如绑定为reply1,reply2...则bindNameReg = \'reply\'
* 3.total为reply的个数
*/
 1  let that=this;
 2         let contentList=res.data.data;
 3         let msgListArr=this.data.msgListArr;
 4 
 5         for(let i=0;i<contentList.length;i++){
 6           WxParse.wxParse(\'dosetime\'+i, \'html\', contentList[i].dosetime, that); 
 7           if(i===contentList.length-1){
 8             WxParse.wxParseTemArray("WxParseListArr",\'dosetime\',contentList.length,that);
 9           }
10         }
11 
12         console.log(contentList);
13         console.log(that.data.WxParseListArr);
14 
15         let listArr=that.data.WxParseListArr;
16         listArr.forEach((item,index)=>{
17           contentList[index].contentCopy=item;
18           msgListArr.push(contentList[index]);
19         })
20 
21         console.log(\'contentList=\',contentList);
22         console.log(\'msgListArr\',msgListArr);
23 
24         that.setData({
25           msgArr:msgListArr
26         })
View Code

wxml显示:

<template is="wxParse" data="{{wxParseData:item.contentCopy}}" />

  

基本就这些。

 

目前遇到的情况:rich-text和插件都没显现  解决方案:rich-text标签或template标签用一个<view></view>包裹起来

第二个问题,就是WxParse有很多个wx:key=“”的警告。去找到插件指定的那个js文件,将里面的key=""替换成key=“unique” 

 

参考:https://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html

https://blog.csdn.net/weixin_30925411/article/details/99923943

 

 

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序的优化代码的分析Promise方法发布时间:2022-07-18
下一篇:
微信小程序技术原理分析发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap