學習 Vue 3 Composition API 的使用
學習返回值:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vue v3 Composition API</title>
</head>
<body>
<div id="app">
<h1>{{msg}}</h1>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script>
const { ref } = Vue; //從vue裡面把ref解出來
//宣告App的object
const App = {
setup(){
const msg = ref('Hello Vue!'); //定義data
return{
msg,
}; //返回值
},
};
Vue.createApp(App).mount("#app"); //準備好vue3的實體,並把object(App)放到createApp裡面,接下來直接把等一下要傳進來的object mount到div上面
</script>
</body>
</html>
學習寫 method,讓數字累加:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vue v3 Composition API</title>
</head>
<body>
<div id="app">
<h1>{{msg}}</h1>
<button @click="handAddInt">Add</button>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script>
const { ref } = Vue; //從vue裡面把ref解出來
//宣告App的object
const App = {
setup(){
const msg = ref(0); //定義data
console.log(msg);
const handAddInt = () => msg.value++;
return{
msg,
handAddInt,
}; //返回值
},
};
Vue.createApp(App).mount("#app"); //準備好vue3的實體,並把object(App)放到createApp裡面,接下來直接把等一下要傳進來的object mount到div上面
</script>
</body>
</html>
Vue 3 Composition API 的優點:
- vue2 所有值都要塞進 data 裡,和所有東西都會返回。但 vue3 可以很好讓我們去選擇什麼東西要塞進 vue 裡面,什麼東西直接當成變數宣告,code 會很好知道什麼東西給 vue 綁定用,什麼東西不是。
- 讓程式及 component 可以重複利用。
- 學習門檻更好入門,不用管 list 的指向,就像寫純粹的 javascript。
參考: