小技巧:不會讓使用者點選到第一個option
:class
只讀不寫 無法直接this.xxx = xxx
差異:computed function名稱無需使用 data
使用:內部的變數若變更,會直接觸發computed
變數通常為data並且綁v-model
ex: get set
// 取得各狀態總筆數
filteredPage() {
if (this.visibility === "all") {
console.log("this.toDos", this.toDos);
return this.toDos;
}
if (this.visibility === "active") {
let activeFilter = this.toDos.filter((item) => {
return item.completed === false;
});
console.log("activeFilter", activeFilter);
return activeFilter;
}
if (this.visibility === "completed") {
let completedFilter = this.toDos.filter((item) => {
return item.completed === true;
});
console.log("completedFilter", completedFilter);
return completedFilter;
}
return "";
},
// 藉由總筆數取得分頁
filterGetPage() {
let filterPage = [];
this.filteredPage.forEach((item, index) => {
if (index % 5 === 0) {
// 0/0 === 0 =_=
filterPage.push([]);
}
});
return filterPage;
},
差異:直接將v-model所綁的data 命名function
使用:監聽data資料,改變直接觸發
通常只能一次監聽一個變數
若要一次監聽多個需使用深度監聽 > deep+物件
ex:v-if
(1) DOM生成
(2) Updated + destroyed
(3) 保留資料 keep-alive
注意html標籤不能大寫、元件data記得return
根元件
子元件
全域註冊元件
解決:另給子元件一個data裝下該值,就不會直接更改到跟元件資料
一次全換
抽換
效果同下v-if
(1) 安裝 node + Vue cli 並建立專案
vue create new-projext(專案名稱)
a. 上課教學
b. 打完指令後選最下面的,自訂安裝
prettier 不熟悉語法用
(2) 專案建立完成
npm run build
npm run serve
(3) 架構
抓取網址列後段進行操作
禁止於Vue各元件檔案直接抓底層資料 ( this.$store.state.XXX )
解決:getter 先抓資料 ( 詳見(1) )
同前 ( this.$store.commit ) 禁止
解決:action 先抓資料給 mutation變更,action才可用commit ( 詳見(2) )