Vue 3 Composition API

學習 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 的優點:

  1. vue2 所有值都要塞進 data 裡,和所有東西都會返回。但 vue3 可以很好讓我們去選擇什麼東西要塞進 vue 裡面,什麼東西直接當成變數宣告,code 會很好知道什麼東西給 vue 綁定用,什麼東西不是。
  2. 讓程式及 component 可以重複利用。
  3. 學習門檻更好入門,不用管 list 的指向,就像寫純粹的 javascript。

參考:

  1. https://primefaces.org/primevue/showcase/#/
  2. 下方影片教學