收藏
回答

在wxml中如何判断一个元素是否在数组中?

比如有一个数组 a=[1,2,3,4,5,6,7]

在wxml文件中,文章编号id在数组a中的,我想显示已读,不在的显示未读。

数组a是根据打开文章后动态更新的。

请问wxml里面怎么写?

<view wx:if="{{id}} in {{a}}">已读view>
最后一次编辑于  2020-09-10
回答关注问题邀请回答
收藏

5 个回答

  • 社区技术运营专员-许涛
    社区技术运营专员-许涛
    2020-09-10

    你好,可参考https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/01wxs-module.html

    2020-09-10
    有用 1
    回复
  • 夕阳西下?
    夕阳西下?
    2020-09-10

    像这样差不多了

    2020-09-10
    有用 1
    回复 4
    • Jcl
      Jcl
      2020-09-10
      你和我找到的差不多,但是请问为什么会报错
      VM858:1 TypeError: Cannot read property 'indexOf' of undefined
      2020-09-10
      回复
    • 夕阳西下?
      夕阳西下?
      2020-09-10回复Jcl
      我的报错吗?
      2020-09-10
      回复
    • Jcl
      Jcl
      2020-09-10回复夕阳西下?
      你的和我的应该是一样的,估计也报错。但是不影响运行。
      2020-09-10
      回复
    • 夕阳西下?
      夕阳西下?
      2020-09-10回复Jcl
      我的没有报错,你的应该是命名相同报错了
      2020-09-10
      回复
  • 微盟
    微盟
    2020-09-10

    wxs应该可以帮助你https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/01wxs-module.html

    2020-09-10
    有用 1
    回复 1
    • Jcl
      Jcl
      2020-09-10
      能简单帮我写个吗?一时看不懂。
      2020-09-10
      回复
  • Jcl
    Jcl
    2020-09-10

    感谢以上的答案。为了遇到同样问题的朋友,简单写下我摸索的答案

    新建 index.wxs

    function indexOf(a, id{
      if (a.indexOf(id) < 0) {
          return false;
      } else {
          return true;
      }
    }
      module.exports.indexOf = indexOf;
    
    


    wxml中:

    <wxs src="index.wxs" module="app"/> 
    
    
    <view>{{app.indexOf(a,id) ? '已读' : '未读'}}</view>
    
    


    当前可以解决问题,但是还有一个报错:

    VM858:1 TypeError: Cannot read property 'indexOf' of undefined
    


    不过问题基本解决了,谢谢大家。

    2020-09-10
    有用 1
    回复
  • 子不语
    子不语
    2020-09-10

    你可以考虑,把 id 传给 js,让js来判断

    请学会如何「提问」(👈戳我)【个体工商户】微信认证问题(👈戳我)

    2020-09-10
    有用
    回复
登录 后发表内容
问题标签