sbfkcel / towxml

微信小程序HTML、Markdown渲染库
https://github.com/sbfkcel/towxml/wiki
2.5k stars 315 forks source link

请教,在towxml解析后,显示短暂的白屏,有没有好的解决方法? #183

Closed 91demo closed 3 years ago

91demo commented 3 years ago

问题如下: 我的小程序在markdown解析后,在页面展示时显示短暂的白屏。我不知道是微信在setdata时时间太长,还是我使用towxml姿势不对。

我使用云开发中的云存储存储markdown文件,然后下载到本地,进行markdown解析。

我的小程序wxml页面如下:

<view class="page" data-weui-theme="{{theme}}">
  <view class="page__bd">
    <!--使用towxml-->
    <towxml nodes="{{article}}" />
  </view>
</view>

我的小程序js函数如下:

data: {
    article: {},
  },
getArticle: function (e) {
    var that = this 
    wx.showLoading({
      title: '文章加载中',
    })
    wx.cloud.downloadFile({
      fileID:e.fileid,
      success:res=>{
        wx.getFileSystemManager().readFile({
          filePath:res.tempFilePath,
          encoding:'utf8',
          success:(r)=>{
            wx.hideLoading()
            let result = app.towxml(r.data, 'markdown', {
            });
            that.setData({
              article: result   
            })
          },
          fail:(err)=>{

          }
        })
      },
      fail:err=>{
      }
    })
  },
91demo commented 3 years ago

用你的demo中的方法,在setdata中设置loading状态,在手机上效果好点。

sbfkcel commented 3 years ago

嗯。如果内容过多也可以考虑分片处理,不要一次性解析。