Composition API 是這次 Vue 3 中一個相當大的新功能,開發將超出原有 Vue 的限制,提供更大的變化及運用。
https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.0-beta.7/vue.esm-browser.min.js
script
標籤加上 type="model"
import {} from 'https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.0-beta.7/vue.esm-browser.min.js'
載入esm-browser CDN
ESM 是具名匯入,所以需要寫出模組化匯入名稱,因此通常會是 import { … } form './app.js' 的方式匯入)
setup
內會 return
一個物件(若資料要渲染畫面,需要定義一個變數,並且透過 return 回傳)
// JS
<script type="module">
// 引入 ESM,script 的 type 記得改成 module
import { createApp } from 'https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.0-beta.7/vue.esm-browser.min.js'
// 用 ESM 就不用 Vue. 開頭
const app = createApp({
// Composition API 一定會有 setup
setup() {
const text = '卡斯伯棒棒';
// 需要回傳值,才能在 HTML 使用
return {
text
}
}
});
app.mount('#app'); // mount 生成元件
</script>
data, methods, created, mounted 都屬於 Option API
在 Composition API 裡面全部使用 setup(){…return{}}
資料的定義方法,一定要使用特定的方法來運作
<script type="module">
// 引入 ref
import { createApp, ref } from 'https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.0-beta.7/vue.esm-browser.min.js'
const app = createApp({
setup() {
// 使用 ref() 進行雙向綁定
const text = ref('卡斯伯棒棒');
// 需要回傳值,才能在 HTML 使用
return {
text
}
}
});
app.mount('#app');
</script>
Vue3