2017-02-10 31 views
0

我在使用localStorage中的數據初始化我的Vue組件時遇到了問題。這裏是我的代碼Vue.js數據在創建的()函數中不可用

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

的簡化版本,但我不斷收到錯誤控制檯Cannot read property 'verification' of undefined

。如果我在()函數創建放debugger,我檢查this值,this.verificationthis.verification.verified,它們都設置爲我在數據對象中初始化的值。

有人可以解釋我做錯了什麼嗎?

基本上我試圖隱藏一個元素,當頁面加載時,如果用戶已經通過了任何以前的驗證過程。

回答

0

好吧我想通了這個問題..這是因爲我使用ES2015符號函數..改回function(){}允許它再次工作..所以我需要做更多的研究來弄清楚如何使用ES2015與Vue.js

1

箭頭函數旨在用於當外部上下文中的this值流入您的函數體,而不是具有this自己的上下文的函數。這意味着您的created函數中的this不會指向您的Vue實例。

但是,您仍然可以使用由ES6提供的速記方法聲明語法:

new Vue({ 
    created() { 
     // ... 
    } 
});