收藏
回答

webview中有cover-view,动态改变cover-view里面的变量无法 更新视图?

小程序中webview中有cover-view。动态改变cover-view里面的变量无法 更新视图。在ios手机没有问题,在安卓手机里面视图不更新。
<web-view    src="{{path}}">
  <cover-view class="cheerTransmitShare">
  <cover-view class="share_item"   bindtap="praiseDetail">
  <cover-image  wx:if="{{praiseStatus==='0'}}"  src="/images/jnis/cheerActive.png"></cover-image>
  <cover-image  wx:else src="/images/jnis/cheer.png"></cover-image>
  <cover-view>{{praiseCount}}</cover-view>
  </cover-view>
  <cover-view   class="share_item"   bindtap="favoriteDetail">
    <cover-image  wx:if="{{favoriteStatus==='0'}}"   src="/images/jnis/collectionActive.png"></cover-image>
    <cover-image  wx:else  src="/images/jnis/collection.png"></cover-image>
    <cover-view>{{favoriteCount}}</cover-view>
  </cover-view>
  <cover-view  class="share_btn_cover share_item share_btn">
  <button hover-class="button-hover"   open-type="share"   bindtap="forwardDetail" >
      <cover-view  class="share_box"  style="width:117rpx;height:50rpx">
        <cover-image   class="share" src="/images/jnis/share.png"></cover-image>
      </cover-view>
  </button>
</cover-view>  
</cover-view >



</web-view>
回答关注问题邀请回答
收藏

3 个回答

  • 杨
    2022-11-10

    用wx:if把整个cover-view销毁再重新渲染可以解决这个问题,亲测有效。简单示例如下:

    wxml:
    <cover-view wx:if="{{show}}">
      <cover-view>
        <cover-view></cover-view>
      </cover-view>
    </cover-view>
    js:
    show: true, // 默认为TRUE
    this.setData({
      show: false
    })
    setTimeout(() => {
      this.setData({
        show: true
      })
    })
    
    2022-11-10
    有用
    回复 4
    • 丁丁猫儿
      丁丁猫儿
      2022-11-13
      试了好像不行
      2022-11-13
      回复
    • 丁丁猫儿
      丁丁猫儿
      2022-11-13
      wx:if绑定的变量设置为false,cover-view元素消失了。但是再设置为true的时候,却出不来了
      2022-11-13
      回复
    • 杨
      2022-11-15回复丁丁猫儿
      我最开始把wx:if放到子集上也是这样,后面放到根节点解决的,不知道你是不是把wx:if放到最外层的cover-view上的。
      2022-11-15
      回复
    • 丁丁猫儿
      丁丁猫儿
      2022-11-19回复
      我试了把 wx:if 放在web-view,还有根节点的cover-view上,都是能消除,但是再也渲染不出来了
      2022-11-19
      回复
  • 利辉
    利辉
    2022-04-15

    我把cover-view放在webview外面,也不能更新cover-view里面的视图的变量。我这个cover-view是固定定位

    2022-04-15
    有用
    回复 3
    • 尼克
      尼克
      2022-05-13
      页面级的操作 暂时没发现可以更新 但socket通信可以更新变量 重新渲染
      2022-05-13
      回复
    • 尼克
      尼克
      2022-05-13回复尼克
      试了一下 貌似还不行
      2022-05-13
      回复
    • 陏变
      陏变
      2022-11-30
      解决了么
      2022-11-30
      回复
  • Cjiang
    Cjiang
    2022-04-15

    cover-view不能覆盖 web-view

    web-view:

    cover-view:


    2022-04-15
    有用
    回复
登录 后发表内容