【问题标题】:Display div element if specific value exists in JSON object in JavaScript Vue Js如果 JavaScript Vue Js 中的 JSON 对象中存在特定值,则显示 div 元素
【发布时间】:2020-12-12 19:38:15
【问题描述】:

如果 JSON 对象上存在特定值,我需要显示 Div 元素,并且我尝试使用数组我可以成功,但我不知道如何在 JSON 对象中执行。如果 JSON 对象上存在名为“Channel”的值,我只需显示 div。

下面的代码我试过但没用

activationTypes: [
{
"activationTypeId": 1,
"name": "SMS"
},
{
"activationTypeId": 2,
"name": "WEB"
},
{
"activationTypeId": 3,
"name": "Channel"
}
]

<div v-show="Object.values(activationTypes).includes('Channel')"> 
<p>test<test>
</div>

【问题讨论】:

  • 没有“JSON 对象”...它只是您正在处理的对象数组,纠正这种想法可能会帮助您真正尝试解决自己的问题...Object.values(activationTypes) 是一个对象数组,您需要检查其中一个对象是否具有值为 Channel 的 name 属性

标签: javascript json vue.js vuetify.js


【解决方案1】:

简单检查:

activationTypes.some( item => item['name'] === 'Channel' );

参考:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some

【讨论】:

  • 你领先我几秒 :)
  • @nizantz 你搞砸了最好的
【解决方案2】:

使用.find按名称搜索元素:

new Vue({
     el:"#app",
     data(){
          return{
               activationTypes: [
                    {
                    "activationTypeId": 1,
                    "name": "SMS"
                    },
                    {
                    "activationTypeId": 2,
                    "name": "WEB"
                     },
                     {
                     "activationTypeId": 3,
                     "name": "Channel"
                      }
                ]
           }
     }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
     <div v-show="activationTypes.find(e=>e.name=='Channel')"> 
          <p>test</p>
     </div>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-23
    • 2021-07-07
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    相关资源
    最近更新 更多