2017-02-10 10 views
0

私のVueコンポーネントをlocalStorageのデータで初期化する際に問題があります。ここに私のコードVue.jsデータがcreated()関数で使用できません

new Vue({ 
    el: "#my-element", 
    created:() => { 
     if (window.localStorage.getItem("verified")) { 
      this.verification.verified = true; 
     } 
    }, 
    data: { 
     verification: { 
      verified: false 
     } 
    } 
}); 

の簡易版であるしかし、私は、私が作成した()関数でdebuggerを入れた場合は、コンソール上でCannot read property 'verification' of undefined

をエラーを取得し、私はthisの値をチェックし、this.verification保ちますとthis.verification.verified、それらはすべてデータオブジェクトで初期化した値に設定されています。

誰かが私が間違っていることを説明することはできますか?

基本的に、ユーザーが以前に検証済みのプロセスを既に完了している場合、ページが読み込まれたときに要素を非表示にしようとしています。

答えて

0

問題を分かりました。私は関数にES2015表記を使用しているからです。function(){}に戻っても、それは再び働くことができます。したがって、ES2015の使い方を理解するために、 with Vue.js

1

矢印機能は、thisの独自のコンテキストを持つ関数ではなく、外部コンテキストのthisの値を関数本体に流したい場合に使用します。これは、created関数のthisがあなたのVueインスタンスを指していないことを意味します。

あなたはしかし、まだES6が提供する速記法の宣言構文を使用することができます。

new Vue({ 
    created() { 
     // ... 
    } 
}); 
関連する問題