收藏
回答

新开发工具里 有办法在模板上判断一个字段是数组类型吗?

问题模块
开发者工具





如题 怎么在模板上判断一个字段是数组类型?

旧版开发者工具里使用数组独有的方法,类似 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>

最后一次编辑于  2017-08-31
回答关注问题邀请回答
收藏

2 个回答

  • Albert Einstein
    Albert Einstein
    2017-08-31

    有一个比较 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>


    2017-08-31
    赞同
    回复
  • 曾华经
    曾华经
    2017-08-31

    用instanceof运算符来判断对象是否为数组类型

    [1,2,3] instanceof Array; // true


    function isArray(arr){

        return arr instanceof Array;

    }




    2017-08-31
    赞同
    回复