Vue 逻辑表达式正确的写法请教


     "item.type != 'menu.system' || (item .role != 'admin' && item.type !='private')"  >
       

** 判断 || 两边的 boolean, (item .role != 'admin' && item.type !='private') 这个是一组
但这种写法是错的,由于是 循环 dom,这个不好写到js中
请教正确的 表达式**

语法上看没错误,如果是业务显示有问题,那就是判断逻辑上有问题,需要重新整下逻辑判断。

不过item.type != 'menu.system' || (item.role != 'admin' && item.type != 'private')这个判断后面加item.type != 'private'的判断多余了

  • type为menu.system时,后面的item.type != 'private'就没必要了,肯定是true
  • type不是menu.system时,第一个条件就直接true,后面的(item.role != 'admin' && item.type != 'private')不执行

如果是比较复杂的判断,可以考虑做成一个方法来判断结果,传入item数据,而不是直接写到dom里面

如果只是从这些代码来看,你这个写法是没问题的,关键要结合你其他代码,看看是不是写对的

你得说你的业务需求是什么,不能光说他是错的,那错在哪呢

写法没问题 。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632