zoukankan      html  css  js  c++  java
  • 微信小程序开发——模板中加载html代码

    最新方法可以使用微信小程序提供的 rich-text (富文本)组件直接写解析html,详见 rich-text

    <rich-text class='f13 c_9' nodes="{{html}}"></rich-text>

    其中 html 为后端返回的html代码格式数据,这里直接就可以解析,再也不需要像wxParse那样还需要引入插件。

    虽然官方文档说nodes不推荐使用String类型,性能会有所下降(当然了,肯定要解析代码呀),建议使用nodes类型(节点列表),就是这样的:

    <rich-text nodes="{{nodes}}" bindtap="tap"></rich-text>
    Page({
      data: {
        nodes: [{
          name: 'div',
          attrs: {
            class: 'div_class',
            style: 'line-height: 60px; color: red;'
          },
          children: [{
            type: 'text',
            text: 'Hello&nbsp;World!'
          }]
        }]
      },
      tap() {
        console.log('tap')
      }
    })

    最初使用wxParse就是没注意到这个组件还支持String格式数据,通篇在介绍nodes这种用法。想想这种用法实在是有点反人类(吐槽下),如果我要嵌入解析html文档,为什么还要用节点列表的形式去写呢?如果我都能写出节点列表了,为什么不直接用wxml标签写呢?解析html主要就是解析服务器获取的html数据的呀,后端服务器获取的html数据我还要转换成Nodes?凌乱中......

    总之,目前我还没想到什么情况下需要使用这种方式,即使使用String类型性能会有所下降,但总比我去解析html成nodes或者使用wxParse好吧,这就足够了。


     小程序默认是不支持html格式的内容显示的,那可以通过wxParse来实现。

    1) 下载wxParse:https://github.com/icindy/wxParse

    2) 下载完成后将插件目录下的wxParse文件夹拷贝到项目目录下

    3) 在app.wxss中导入wxParse的样式表:

    @import "wxParse/wxParse.wxss";

    4)在需要加载html代码的页面js文件中引用wxParse.js文件:

    var WxParse = require('../../../wxParse/wxParse.js');

    5)通过WxParse.wxParse的方法来设置html内容:

    var htmlContent= "<h2>这里是Html内容</h2>"
    WxParse.wxParse('detailHtml', 'html', htmlContent, this, 0);

    6) 页面中引用模板

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

    关于wxParse的应用与二次开发详见:https://github.com/icindy/wxParse

  • 相关阅读:
    【Linux】【jenkins】自动化部署一 安装jenkins及Jenkins工作目录迁移
    【Linux】【docker】docker私服安装
    【Linux】【docker】docker及docker-compose安装
    【Linux】【tomcat】tomcat8.5安装
    【Linux】【jdk】jdk8.0安装
    【Linux】【mysql】mysql8.0开启远程访问及常见问题
    【Linux】记录一个yum update和upgrade的区别
    【Linux】【gitlab】gitlab安装、备份、恢复、升级、内存消耗问题
    Python序列——列表
    Python序列——元组
  • 原文地址:https://www.cnblogs.com/xyyt/p/8528373.html
Copyright © 2011-2022 走看看