接触了一阵微信小程序,虽然编写程序简单,但是微信限制了太多,感觉没多大用处。比如,要想在微信小程序中显示一个网页,必须是企业认证的账号才能使用web-view组件显示网页,那这就尴尬了。个人账号不能显示网页HTML,必须使用微信的wxml语法才能正常解析,为了解决这个问题,有人写出了wxParse这个东西,它能将HTML与Markdown转换成微信的wxml,从而让微信显示出来。
将Html/Markdown转换为微信小程序的可视化方案
wxParse使用方法
下载wxParse支持文件:https://github.com/icindy/wxParse
文件结构
- wxParse/ -wxParse.js(必须存在) -html2json.js(必须存在) -htmlparser.js(必须存在) -showdown.js(必须存在) -wxDiscode.js(必须存在) -wxParse.wxml(必须存在) -wxParse.wxss(必须存在) -emojis(可选)
复制wxParse到你的微信小程序项目中,具体放哪里自己决定。
引入必要文件
在使用的View中引入WxParse模块
var WxParse = require('../../wxParse/wxParse.js');
在使用的Wxss中引入WxParse.css,可以在app.wxss
@import "/wxParse/wxParse.wxss";
数据绑定
var article = '<div>我是HTML代码</div>'; /** * WxParse.wxParse(bindName , type, data, target,imagePadding) * 1.bindName绑定的数据名(必填) * 2.type可以为html或者md(必填) * 3.data为传入的具体数据(必填) * 4.target为Page对象,一般为this(必填) * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选) */ var that = this; WxParse.wxParse('article', 'html', article, that, 5);
模版引用
引入模板
<import src="你的路径/wxParse/wxParse.wxml"/>
这里data中article为bindName
<template is="wxParse" data="{{wxParseData:article.nodes}}"/>
有了这些就差不多了,至少微信小程序显示HTML的时候不至于报错。更多高级用法,大家还是看开发者的说明文档吧。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/242411.html