如题 怎么在模板上判断一个字段是数组类型?
旧版开发者工具里使用数组独有的方法,类似 fragment.join !== undefined 可以判断 fragment 是数组类型,新版开发者工具里面该方法失效
补充:
需要判断的字段是由外层传进来的,情况比较复杂,所以只能在模板上面进行判断。使用 instanceof 在模板上会报错。
结果:
最后通过新发布的 wxs 脚本语言解决了。
<wxs module="util">
var isArray = function(array) {
return array instanceof Array;
}
module.exports.isArray = isArray;
</wxs>
<view wx:if="{{util.isArray(real_value)}}"></view>
用instanceof运算符来判断对象是否为数组类型
[1,2,3]
instanceof
Array;
// true
function isArray(arr){
return arr instanceof Array;
}
有一个比较 Tricky 的方法,可以尝试一下,就是使用 getter。
const array = [1, 2, 3]
Page({
data: {
obj: {
get info() {
return
Array.isArray(array)
}
}
}
})
<
block
wx:if
=
"{{obj.info}}"
>
<
view
>view </
view
>
</
block
>