在編寫Part 2 ,使用 event.target
抓取了整個 button.btn-show-movie
的 template。
分析問題 &拆解問題 :
- 試著在存取 Index API 的資料時,將電影的
id
一併放進 template 裡。
2. 當按鈕被點擊時,就能把 id
指定出來, 用devTool 的console可以看到id
3. 從API-data清單的id 與show API 給予物件的id 及 id的URL , matches
4. 測試觸及MORE按鈕開啟互動視窗後, 是否會出現詳細資料
尋找答案 及方法:
目的:
當按鈕被點擊時,就能把API 回應的物件 id
指定出來, 並用devTool 的console及DOM操空, 可以看到id是否成功
- Dataset 語法 :
編寫dataset- 目標- id 在按鈕上抓取特定API的物件id
2. 測試:console.log ( event.target. XXX.id ) 或
3. 測試 : 直接在DevTool console 上面用DOM去測試
4.Request Show API 傳遞資料
解決方案:Dataset
在 HTML 標籤上紀錄客製化的資訊,也就是在 HTML 標籤中定義 data-*
的屬性。例如以下範例中的 data-user
、data-id
、data-date-of-birth
實作語法:
從Mozilla 上可以看到這段文字在HTML設定標籤
<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe</div>
然後我們可以呼叫 dataset.*
去檢索 JavaScript 中的這些屬性:
const el = document.querySelector('#user');
console.log(el.dataset.user)
//johndoe
console.log(el.dataset.id)
//1234567890
「 應用上述的HTML語法 」
延伸兩個步驟完成HTMl 的 dataset 語法編輯在main.js 檔
//who trigger it 在函式裡加這個console.log // console.log(event.target.dataset.id)
測試看看!
挑兩部電影直接點more按鈕 , 再觀察console 有沒有抓取到id ,
,<<這是API提供的物件ID >>
開啟devTool :第一部電影是清單id :65 , 第二部電影是清單 id :76 .
用DOM測試 : 直接在DevTool console 上面用DOM去測試某API物件
YA~ 同學們(讀者們)~~~學會了沒!
記得按讚分享 .
補充:
這篇耗費時間:回憶一些用法譬如:forEach
- forEach 的用法item . 這是取代 for ( i=0 ; i<x ; i++ ){ } , item 指的是 index上的物件.
之前常用…久了會…會忘…
2. 因為起初dataset 設定在Html 上面的button , 排錯花了些時間說到
想到index… interview 既然會發瘋像面試工程師說 : 「 是不是不能為零 」lol