微信小程序将html转为wxml(超详细)

微信小程序开发虽说是比较偏向前端开发,但是它们的语法结构又不太一样。例如,wxml跟html就有本质的不同,就拿a标签来说吧,wxml是不支持a标签的,还有就是wxml不兼容html,下面小编就针对这个问题来分析一下怎么才能将html转换成wxml。具体步骤如下:

GitHub - icindy/wxParse: wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析下载

这里我直接上代码了,不是太难,百度也有很多

先看一下我的数据结构

创建一个common文件夹,把wxParse放进去

在需要的页面js里面引用

const wxParse = require('../../common/wxParse/wxParse')

getBriefIntroduction: function() {
    let _this = this;
    serve({
      url: '/api/user/user/ourself'
    }).then((res) => {
      if(res.data.code == 1) {
        let article = res.data.data.content;            // html
        wxParse.wxParse('article', 'html', article, _this, 5);
      }
    }).catch((err) => {
      console.log(err)
    })
  },

这是我的请求方式,用自己的方式就好

js主要代码

let article = res.data.data.content;            // html
        wxParse.wxParse('article', 'html', article, _this, 5);

然后在wxml用绑定数据

<import src="/common/wxParse/wxParse.wxml"></import>

<view class="wxParse">
  <template is="wxParse" data="{{wxParseData:article.nodes}}"></template>
</view>

两行代码不做过多的解释了

最后在wxss里面引用样式

@import "/common/wxParse/wxParse.wxss";

以上就是所有代码了,有什么疑问可以在下方留言讨论

如果对你有用,关注一下博主的小程序,登录一下给予支持,以后有什么开源好用的源码都会上传到小程序

 

官方wxParse有很多警告,我已经处理过了,需要的可以下载wxParse.zip_html转wxml-互联网文档类资源-CSDN下载

  • 2
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
插件地址:https://github.com/kevenfeng/html-to-wxml如果前端技术比较牛,可以直接看github上面的demo。可以更好的理解用法。使用方法:1.引用插件var R_htmlToWxml = require(‘../../util/htmlToWxml.js’);//引入公共方法2.将html内容成json数据R_htmlToWxml.html2json(“html内容”);换后的json格式类型大概如下:3.吐到页面中显示<block wx:for="{{content}}"  wx:for-index="idy"  wx:for-item="cellData">         <block  wx:if="{{cellData.type == 'view'}}">             <view class="p">                 <block  wx:for="{{cellData.child}}" wx:key="text">                     <block  wx:if="{{item.type == 'a'}}">                         <text class="a" data-seccode="{{item.attr['data-seccode']}}" data-secname="{{item.attr['data-secname']}}" bindtap="stockClick">{{item.text}}</text>                     </block>                     <block  wx:else>                         <text>{{item.text}}</text>                     </block>                 </block>             </view>         </block>         <block wx:if="{{cellData.type == 'img'}}">             <image class="img" data-index="{{idy}}" style="height: {{cellData.attr.height?cellData.attr.height:0}}px"  mode="aspectFit" src="{{cellData.attr.src}}" bindload="imageLoad"></image>         </block>     </block>demo效果:由于小程序图片的高度没法自适应,需要给图片设置高度,所以需要在图片加载完以后,获取图片高度,等比算出显示图片高度,赋值给对应图片通常我们抓取的内容是html页面,特别是像资讯这一类的,如果在小程序里面显示文章内容,此插件提供了一种解决方案,希望对大家有用。在客户端中用native显示html页面体验上面没有native的好,htmlToWxml插件给客户端中用native的方式显示html内容提供了一种解决方案

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值