微信小程序html格式转换详解

前言

在毕设的过程中,把项目迁移到小程序中,遇到了html格式的博客内容,在小程序中直接以标签的格式显示出来了,并没有进行标签格式的转换,因此记下该问题并解决。问题的截图如下:
在这里插入图片描述

解决步骤
  1. 首先要先下载wxParse:官网的github地址为:[点击此处进行下载] https://github.com/icindy/wxParse)。并把下载后的文件解压到项目中,如下图,为我存放的位置。
    在这里插入图片描述
  2. 在app.wxss全局样式文件中,需要引入wxParse的样式表。

/app.wxss/
@import “/pages/wxParse/wxParse.wxss”;

  1. 在需要加载html内容的页面对应的js文件里引入wxParse,比如我需要在单个博客详情中把html标签转化成小程序能识别的标签,我就在singleBlog.js中引。

var WxParse = require(’…/wxParse/wxParse.js’);

  1. 通过调用WxParse.wxParse方法来设置html内容,以下为singleBlog.js中部分代码。请求地址,并且获得单个博客的详情信息。
var WxParse = require('../wxParse/wxParse.js');
/**
* WxParse.wxParse(bindName , type, data, target,imagePadding)
* 1.bindName绑定的数据名(必填)
* 2.type可以为html或者md(必填)
* 3.data为传入的具体数据(必填)
* 4.target为Page对象,一般为this(必填)
* 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
*/
Page({

  /**
   * 页面的初始数据
   */
  data: {
    singleBlog:{}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log("options",options);
    wx.request({
      url: 'http://localhost:9200/blog/singleBlog/'+options.blogId,
      header: {
        'Content-Type': 'application/json'
      },
      success:res=>{
        console.log(res);
        this.setData({
          singleBlog:res.data.dataInfo
        })
        // 解析为
        // console.log("s",this.data.singleBlog);
        WxParse.wxParse('htmlContent', 'html', this.data.singleBlog.htmlContent, this,0);
      }
    })

  },
  1. 在对应的wxml中就可以使用了,下面第一个为模板,第二个为在singleBlog.wxml的部分代码截图。其中data中的htmlContent为bindname,即第一个参数。

<import src="../../wxParse/wxParse.wxml"/>
<template is="wxParse" data="{{wxParseData:htmlContent.nodes}}"/>

在这里插入图片描述
效果如下图所示:
在这里插入图片描述

注意事项
  1. 如果使用传统的方法,wx.request中的success的this指向并不是page,可以在前面把this用that存起来,或者把success改成箭头指向的方法。
  2. 在js中获取data中数据的时候,用this.data.你定义的属性,这点和vue不一样,vue不用写data。设置属性的时候用this.setData({
    singleBlog:res.data.dataInfo
    })
    ,这个和react挺像的。

没有人能预测未来,但总有人后悔当初。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逸羽菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值