使用 Vue 验证内容键 Json 是否存在

Pau*_*ues 1 javascript vue.js

我想知道如何检查“novalue”是否存在例如:

{
    name: "maria",
    city_id: "novalue"
    ....
}
Run Code Online (Sandbox Code Playgroud)

我如何在 Vue 中做到这一点?是在里面<div v-if="condition">还是在 功能上?

san*_*oco 6

如果您想/可以使用 ES7 功能:

const containsKey = (obj, key ) => Object.keys(obj).includes(key);
Run Code Online (Sandbox Code Playgroud)

实现示例:

const someCoolObject = {name: 'Foo', lastName: 'Bar'};

const hasName = containsKey(someCoolObject, 'name');
const hasNickName = containsKey(someCoolObject, 'hasNickName');

console.log(hasName, hasNickName); // true, false
Run Code Online (Sandbox Code Playgroud)

对于 Vue:

成分:

{
    methods: {
        containsKey(obj, key ) {
            return Object.keys(obj).includes(key);
        }
    },
    computed: {
        hasName() {
            return this.containsKey(this.someObject, 'name');
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

模板:

<div v-if="hasName"></div>
Run Code Online (Sandbox Code Playgroud)