收藏
回答

全局变量通过数据绑定该变量做为wx:if条件时,不能起作用?

首先是在一个界面里面写入全局变量

然后,在另外一个界面读取这个全局变量,并赋给该界面的一个变量,用该变量通过数据绑定作为wxml的wx:if判断条件,如果选择中班即为false,radio组件不显示


回答关注问题邀请回答
收藏

3 个回答

  • brave
    brave
    2020-03-20

    看图二你已经重新编译或者重定向到别的页面了,此时app.js中全局变量值重新初始化了吧?尝试将值存到缓存里,然后小程序启动时通过读取缓存赋值app.js的全局变量

    2020-03-20
    有用 1
    回复
  • Admin ²º²³
    Admin ²º²³
    2020-03-20

    wxml有且只有渲染当前页面data里面定义的和wxs处理值

    全局变量不能直接用在wxml里

    仔细看了你的代码,应该是木有问题的呢

    因为你全局变量setData到本页面的data里面了

    wx:if="{{xxx=='true'}}"试试

    2020-03-20
    有用 1
    回复 1
    • 汪小露
      汪小露
      2020-03-24
      谢谢兄弟,是这个原因。我又在页面定义了一个布尔类型的变量,wx:if=“{{test}}",显示成功。说明我传过来的全局变量是字符串。但是我在上个界面定义需要传送的数据就是布尔变量,怎么会有变化呢?
      2020-03-24
      回复
  • Mr.Zhao
    Mr.Zhao
    2020-03-20

    怎么看着像字符串false

    2020-03-20
    有用
    回复 5
    • 汪小露
      汪小露
      2020-03-24
      是的,我也奇怪为什么布尔变量传递后会变成字符串
      2020-03-24
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-03-24回复汪小露
      写一个能复现问题的示例代码片段吧
      2020-03-24
      回复
    • 汪小露
      汪小露
      2020-03-24回复Mr.Zhao
      https://developers.weixin.qq.com/s/AKaJO5mE78gB,这是我的试验代码,我找不出布尔转变为字符的原因,兄弟能否帮忙看一下
      2020-03-24
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-03-24回复汪小露
      2020-03-24
      回复
    • 汪小露
      汪小露
      2020-03-24
      谢谢老铁,看来一开始传递的就是字符串了
      2020-03-24
      回复
登录 后发表内容
问题标签