在做练习的过程中,遇到了一个问题。从后台获取的数据是有值的,然后我在小程序中使用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>
如果要判断数组是否存在或有值 应该是wx:if="{{comment.length}}"或者wx:if="{{comment.length > 0}}"这么去写才对吧
一个数组即使是有值 也不会等于true的
支持,天天用都没问题
我试过了没效果 wx:if="{{"abc"==true}}"
wx:if="{{表达是内不支持使用比较运算?}}"
comment是一个数组
wx:if="{{comments==true}}" //不起作用
wx:if="{{comments}}"//直接拿获取到的数据进行判断就没有问题了
因为我发现在标签中加入 比较运算后没有效果~