收藏
回答

wxml调用wxs中indexOf进行判断,返回结果已是true时修改数组返回结果还是true?

wxml调用中,wx:if的判断结果如果是false,此时点击更改数组beThumbUped,wx:if=indexOf会重新判断一遍,wx:if判断结果变为true

但是如果判断结果是true时,再进行操作更改数组的值,wx:if=indexOf判断结果还是原来的true。

如果在其余地方增加一个wx:if=indexOf()的判断,且判断结果是false,那么在点击改变此处的结果为true的时候,上一处的wx:if=indexOf()才会再进行重新判断改为false

大概查到应该是commonJS缓存的问题,但是如果是页面加载之后就不再起作用了,那为什么后续操作之间又是可以相互影响的,值仍然会有变化

希望有大神可以指导一下

最后一次编辑于  2020-06-28
回答关注问题邀请回答
收藏

3 个回答

  • View
    View
    2021-07-17
    function indexOf(arr,val){
      var flag = arr.some(function (item){
        return  item == val
      })
      
      return flag  ? './橙色对号@2x.png':'./check@2x.png'
    }
    module.exports = {
      indexOf:indexOf
    }; 
    wo
    
    我已经无力吐槽了,小程序真难用,indexof不好用,你只能想我这样写才可以
    
    2021-07-17
    有用
    回复
  • Admin²⁰²²
    Admin²⁰²²
    2020-06-28

    不正确的时候,你log里面的值的时候,发现有改变吗?是预期的值吗

    2020-06-28
    有用
    回复 1
    • hanzq
      hanzq
      2020-06-28
      判断结果为true的时候,log里数组的值在更改,但是indexOf已经不调用了
      2020-06-28
      回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-06-28

    说了一大堆,感觉好复杂的样子,还不如弄个 [ 能复现问题的简单的 ] 代码片段

    https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

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