VIPwbiao

小程序html解析如:后台添加的文章详情

电脑版发表于:2020/1/6 10:12

项目中遇到在微信小程序里需要显示音乐文章的内容,文章内容是通过接口读取的服 务器中的富文本内容,是html格式的,小程序默认是不支持html格式的内容显示的, 那我们需要显示html内容的时候,就可以通过wxParse来实现。

1.把wxParse文件全部放入项目根目录。

2.在wxml中import wxParse.wxml,并把template插入到到对应的位置上

<!--wxml-->
<import src="../../../wxParse/wxParse.wxml"/>
<view class="view-title">{{title}}</view>
<view class="view-time-box">
  <text class="view-date">{{date}}</text>
  <text class="view-time">{{time}}</text>
</view>
<template is="wxParse" data="{{wxParseData:article.nodes}}"/>

3.在wxss中import wxParse.wxss,并设置样式;比如‘wxParse-image’是富文本图片转化成image组件之后的类名,‘wxParse-p’是p标签转化成view组件后设置的类名

<!--wxss-->
@import "../../../wxParse/wxParse.wxss";
page{
  background: #fff;
}
.view-title{
  line-height: 80rpx;
  font-size: 48rpx;
  color:#0C0C0C;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 190rpx;
  min-height: 80rpx;
  width:690rpx;
  padding:30rpx 30rpx 0;
}
.view-time-box{
  height: 66rpx;
  line-height: 66rpx;
  font-size: 30rpx;
  color:#999999;
  margin-bottom: 40rpx;
  padding:0 30rpx;
}
.view-date{
  margin-right: 20rpx;
}
.wxParse-img{
  margin-top:20rpx;
  display: block;
  position:relative;
  top:0;
  left:50%;
  transform: translateX(-50%);
}
.wxParse-p{
  text-indent: 2em;
  margin-top:20rpx;
  color:#0C0C0C;
  line-height:50rpx;
  font-size:34rpx;
  padding:0 30rpx 30rpx;
  text-align: justify;
}

4.js

var WxParse = require('../../../wxParse/wxParse.js');
Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    title: '',
    date: "",
    time: "",
    id: ''
  },
 
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      id:options.id
    })
  },
  onShow: function () {
    wx.showLoading({
      title: '加载中...',
    })
    var that = this;
 
    // 模拟获取数据
    setTimeout(function () {
      that.setData({
        title:'侨宝柑普茶新会陈皮侨宝柑',
        date:"2018-03-01",
        time:"13:20:53"
      })
      var article = `
        <img src="../../../imgs/index/s.png"></img>
    <p>微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)</p>
    <p>微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)微信小程序如何解析HTML富文本(使用wxParse解析富文本的demo)</p>
        <img src="../../../imgs/index/s.png"></img>
    <p>近两年,小青柑的火爆有目共睹,娇小玲珑的产品形态、便携式的消费场景、柑与茶结合的时尚方式以及独特的口感和养生功效,都在顺应着目前年轻化、多元化、便携化的茶叶消费市场需求,让它成为了一大爆品。</p>
      `;
      /**
      * WxParse.wxParse(bindName , type, data, target,imagePadding)
      * 1.bindName绑定的数据名(必填)
      * 2.type可以为html或者md(必填)
      * 3.data为传入的具体数据(必填)
      * 4.target为Page对象,一般为this(必填)
      * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
      */
      WxParse.wxParse('article', 'html', article, that, 20);
      
      // 更改数据、获取新数据完成
      wx.hideLoading();
    }, 500)
  }
})

具体的API可以去GitHub上查看:https://github.com/icindy/wxParse


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢