如题 怎么在模板上判断一个字段是数组类型?
旧版开发者工具里使用数组独有的方法,类似 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]instanceofArray;// truefunction isArray(arr){
return arr instanceof Array;
}
有一个比较 Tricky 的方法,可以尝试一下,就是使用 getter。
const array = [1, 2, 3]Page({data: {obj: {get info() {returnArray.isArray(array)}}}})<blockwx:if="{{obj.info}}"><view>view </view></block>