在wxs中判断布尔类型遇到的问题
发布于 5 年前 作者 mingliang 7762 次浏览 来自 问答

    在做练习的过程中,遇到了一个问题。从后台获取的数据是有值的,然后我在小程序中使用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>

3 回复

支持,天天用都没问题

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

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

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

comment是一个数组

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

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

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

回到顶部