2017-04-02 5 views
0

Um zu überprüfen, ob das Array undefined enthält, kann ich es so machen [undefined].indexOf(undefined) oder [undefined].some(el => el === undefined). Aber in meiner Vue.js App habe ich -1 und false. Ich habe versucht, meine Daten zu drucken, und ich habe [__ob__: Observer]. Wie überprüft man, ob Observer undefined enthält?Prüfen, ob der Beobachter ein Element enthält

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

Antwort

2

Vue.js erwartet data ein Objekt zu sein, nicht ein Array.

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

Danke, aber wie ein Problem zu lösen, weil 'prop' ist' [__ob__: Observer] 'und' console.log (this.prop.some (el => el === undefined), das .prop.indexOf (undefined)); 'ist' false, -1' – rel1x

+0

@ rel1x Jede Eigenschaft in Datenobjekt hat den Beobachter, das ist, wie VueJS die Änderungen verfolgen und Dinge reaktiv machen - das ist normal –

+0

@BelminBedak okey, aber warum ' console.log (this.prop.some (el => el === undefiniert), this.prop.indexOf (undefined)); 'is' false, -1' wenn 'this.prop'' [undefined] 'ist ? – rel1x

Verwandte Themen