2017-04-02 1 views
0

Pour vérifier si le tableau contient undefined, je peux le faire comme ceci [undefined].indexOf(undefined) ou [undefined].some(el => el === undefined). Mais dans mon application Vue.js j'ai -1 et false. J'ai essayé d'imprimer mes données et j'ai [__ob__: Observer]. Comment vérifier si Observer contient undefined?Vérifiez si l'observateur contient un élément

var app = new Vue({ 
    el: '#app', 
    data: [undefined] 
    }, 
    methods: { 
    someFunction() { 
     console.log(this.data.some(el => el === undefined), this.data.indexOf(undefined)); 
    } 
    } 
}) 

Répondre

2

Vue.js attend data être un objet, pas un tableau.

var app = new Vue({ 
    el: '#app', 
    data: { 
    prop: [undefined] 
    }, 
    methods: { 
    someFunction() { 
     console.log(this.prop.some(el => el === undefined), this.prop.indexOf(undefined)); 
    } 
    } 
}); 
+0

Merci, mais comment résoudre un problème, parce que '' prop' est [__ob__: Observer] 'et' console.log (this.prop.some (el => el === non définie), ce .prop.indexOf (undefined)); 'est' false, -1' – rel1x

+0

@ rel1x Chaque propriété dans l'objet de données a l'observateur, c'est ainsi que VueJS suit les changements et rend les choses réactives - c'est normal –

+0

@BelminBedak okey, mais pourquoi ' console.log (this.prop.some (el => el === indéfini), this.prop.indexOf (indéfini)); 'est' false, -1' si 'this.prop' est' [undefined] ' ? – rel1x