收藏
回答

为什么setData后,wx:if不能拿到更新后的值?

下面的wxml,在wxlogging从true变成false后,希望隐藏加载中,然后展示获取手机号组件

在开发者工具上,符合预期

在真机上调试,手机号组件一直不展示, 不符合预期


<scroll-view class="scrollarea" enable-flex style="margin-bottom: {{marginBottom}}px;">
  <view class="main">
    <image class="logo" src="./images/logo.png" mode="widthFix"></image>
    <view wx:if="{{wxlogging}}" class="loading">加载中...</view>
  </view>
  <view class="privacy" wx:if="{{!wxlogging}}">
    <button open-type="{{policyChecked?'getPhoneNumber':''}}" bindgetphonenumber="handleGetPhoneNumber" class="btn" style="width: 291px;" bind:tap="handlePhoneNumberTap">获取用户手机号</button>
    <label class="policy" bind:tap="togglePolicyCheck">
      <view class="radio">
        <radio checked="{{policyChecked}}" />
      </view>
      <view class="policycontent">已阅读并同意
        <text class="link" catch:tap="openPolicy"><text style="text-decoration-line: underline;">服务协议</text></text><text class="link" catch:tap="openPrivacy"><text style="text-decoration-line: underline;">隐私协议</text></text>
      </view>
    </label>
  </view>
</scroll-view>
回答关注问题邀请回答
收藏

3 个回答

  • 启年
    启年
    04-24

    点击小程序右上角三个点,底部弹窗有个调试模式,打开调试模式,重新进小程序,打开vconsole,看看有什么报错不

    04-24
    有用
    回复
  • 二叉树之恋
    二叉树之恋
    04-24

    代码有两个wx:if 订阅了同一个变量, 不支持这样吗 @官方

    04-24
    有用
    回复 1
    • Eamon
      Eamon
      04-25
      跟这个没关系,复现的代码片段贴上来看看
      04-25
      回复
  • hello world
    hello world
    04-24

    检查自己的代码,wxlogging是不是赋值错了

    04-24
    有用
    回复 2
    • 二叉树之恋
      二叉树之恋
      04-24
      wxlogging初始状态为true,

      登录接口成功后调用,this.setData({ wxlogging: false });
      感觉是没错的

      在开发者工具,表现正常; 到真机就不行了
      04-24
      回复
    • hello world
      hello world
      04-24回复二叉树之恋
      那就可能是接口域名没配置,登录就没成功
      04-24
      回复
登录 后发表内容