Vue.jsで簡単なTODOリストを作成中に出たエラーです。
■エラー内容
コード内の「//ここでエラー」とある部分でタイトルのエラーとなってしまいます。
■実現したい事
ブラウザリロード時にもTODOリストの内容が保持できるように、TODO追加時にローカルストレージに格納(addItem())、onload時にローカルストレージに保存されているデータを引っ張ってきて描画するというものです。
■ブラウザ
Google Chrome(バージョン: 77.0.3865.90)
JavaScript
1 <script> 2 var app = new Vue({ 3 el:'#app', 4 data:{ 5 inputAdd: "", 6 todos:[] 7 }, 8 methods:{ 9 window:onload = function(){ 10 //画面リロード時、ローカルストレージに格納されている値を引っ張ってくる 11 var jsonObj = localStorage.getItem('Key'); 12 var jsObj = JSON.parse(jsonObj); 13 var todo = { 14 //試しに0番目だけ取ってきたい 15 item: jsObj[0].item 16 } 17 //ここでエラー 18 this.todos.push(todo); 19 }, 20 addItem:function(){ 21 if(this.inputAdd == ''){return;} 22 var todo = { 23 item: this.inputAdd 24 } 25 26 this.todos.push(todo); 27 this.inputAdd=""; 28 //ここのタイミングでローカルストレージに格納 29 var obj = JSON.stringify(this.todos); 30 localStorage.setItem('Key', obj); 31 } 32 } 33 }) 34 </script>
addItem()の際には同様の処理をしてもエラーが出ないようで原因がわかりません。
詳しい方、ご教授いただければ幸いです。
宜しくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/20 10:04
2019/11/04 06:31