2017-04-02 24 views
0

配列にundefinedが含まれているかどうかを確認するには、[undefined].indexOf(undefined)または[undefined].some(el => el === undefined)のようにすることができます。しかし、私のVue.jsアプリでは、-1falseがあります。データを印刷しようとしましたが、[__ob__: Observer]があります。 Observerに未定義が含まれているかどうかを確認する方法オブザーバにいくつかの要素が含まれているかどうかをチェック

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

答えて

2

Vue.jsはdataはオブジェクトではなく配列することを期待します。

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

おかげで、どのように問題を解決するために、prop'は ''ため[__ob__:オブザーバー] ''とはconsole.log不定(this.prop.some(EL => EL ===)、この.prop.indexOf(undefined)); 'は' false、-1'です。 – rel1x

+0

@ rel1xデータオブジェクトの各プロパティはオブザーバを持っています。それはVueJSが変更を追跡して反応を起こす方法です - それは普通です –

+0

@BelminBedak okey、 'this.prop'が' [undefined] 'なら' false、-1'です。これは、 'this.prop'が' 'undefined ' ? – rel1x

関連する問題