收藏
回答

在wxs中判断布尔类型遇到的问题

    在做练习的过程中,遇到了一个问题。从后台获取的数据是有值的,然后我在小程序中使用wx:if判断页面data中的这个数据始终是false,使用获取到的数组和 true进行判断结果是false。

    我在wxs中定义了一个函数在页面标签中获取这个参数,在函数中打印,然后进行判断 结果依然是false。并且发现在wxs中对象和==true比较也是false  字符串和true比较也是false。

请教怎么解决这个问题,我最初是想这个数组有数据就显示一个text标签没有显示另一个标签。

下面是代码:

<wxs module="tool">

function tagBool (val){

//判断val(获取的值是数组) 不管是true还是false 怎么都是false

//字符串和true比较false

//object和true比较是false

var obj = {abc:1}

//数字和true比较是true

console.log('1和true比较')

console.log(1 == true)

console.log('对象和true比较')

console.log(obj == true)

//对象和false比较也是false

console.log('对象和false比较')

console.log(obj == false)

return val == true

}

module.exports = {

tagBool:tagBool

}

</wxs>


最后一次编辑于  2018-12-29  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • 贺燕珍😘
    贺燕珍😘
    01-18

    如果要判断数组是否存在或有值  应该是wx:if="{{comment.length}}"或者wx:if="{{comment.length > 0}}"这么去写才对吧  


    一个数组即使是有值 也不会等于true的


    01-18
    赞同
    回复
  • 赵青山
    赵青山
    2018-12-29

    支持,天天用都没问题

    2018-12-29
    赞同
    回复 1
    • azrael
      azrael
      2018-12-29

      我试过了没效果  wx:if="{{"abc"==true}}"

      2018-12-29
      回复
  • azrael
    azrael
    2018-12-29

    wx:if="{{表达是内不支持使用比较运算?}}"

    comment是一个数组

    wx:if="{{comments==true}}"  //不起作用

    wx:if="{{comments}}"//直接拿获取到的数据进行判断就没有问题了

        因为我发现在标签中加入 比较运算后没有效果~

    2018-12-29
    赞同
    回复