Skip to content

Latest commit

 

History

History

15 LocalStorage

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

完成目標

今天主要學兩個東西。

  1. localStorage
  2. event delegation
  • 功能
    • 做一個可以輸入文字的框,送出之後,新增到上面打勾的選項
    • 重新整理時,選單不會清空
  • 畫面
    • 選單的選項前面,要有打勾的功能,並且自訂圖示。
      • 不打勾: 方塊
      • 打勾: 一塊"pork taco"

JavaScript

DOM Object

HTML DOM appendChild() Method 將node放入node的裡面(下一層)。

Event Object

label 加入for

label.setAttribute('for', input.id);

清空form

form.reset();

localStoragecookie更適合拿來做暫存的小空間。

  • localStorage.setItem('key', 'value');
  • localStorage.getItem('key');
  • localStorage.removeItem('key');

另外還有sessionStorage

更棒的寫法

原本的寫法

let items = [];
if (JSON.parse(localStorage.getItem('items'))){
  items = JSON.parse(localStorage.getItem('items'));
}
populateList(items, itemsList); //update view

改成

const items = JSON.parse(localStorage.getItem('items')) || [];
populateList(items, itemsList); //update view

問題

  1. 為什麼不在label上面掛click的事件?
  2. 最後加上去更新畫面的(Line 70: populateList(items, itemsList);)是否必要?