Skip to main content

composables

introduction

在 Nuxt.js 3 中,composables 是一種用於組織和共享可重用邏輯的方式。它們是一種以函數的形式提供的組件,可以在 Nuxt.js 應用程序的不同部分之間共享和重複使用。

Composables 可以幫助開發人員將代碼邏輯從組件中提取出來,並使其可重用。它們可以處理數據讀取、狀態管理、API 請求等常見的任務。通過使用 composable,開發人員可以更好地組織和管理代碼,使其更易於測試和維護。

Nuxt.js 3 提供了一些內置的 composable,如 useFetch、useAsync、useRoute 等,這些 composable 可以幫助開發人員處理數據的請求和處理。此外,開發人員還可以創建自己的 custom composable,以滿足特定的需求。

使用 composable 的好處是它們可以在不同的組件中共享和重複使用,從而減少代碼的重複性。開發人員可以將 composable 作為函數導入並在組件中使用,從而獲得所需的功能和邏輯。

總結來說,Nuxt.js 3 中的 composable 是一種用於組織和共享可重用邏輯的方式。它們可以幫助開發人員更好地組織代碼,提高代碼的可重用性和可維護性。

customer composables

在 Nuxt 3 中,你可以按照以下步驟來撰寫自己的 composable:

  1. 創建一個新的 JavaScript 檔案,例如 myComposable.js

  2. 在該檔案中,你可以使用 defineComposable 函式來定義你的 composable。這個函式接受一個回呼函式作為參數,該回呼函式可以接受任意參數。

    import { defineComposable } from "nuxt-composable";

    export default defineComposable((context) => {
    // 在這裡編寫你的 composable 邏輯
    });
  3. 在你的 Nuxt 3 應用程式中,使用 useComposable 函式來使用你的 composable。

    import { useComposable } from "nuxt-composable";
    import myComposable from "~/myComposable";

    export default {
    setup() {
    const { value } = useComposable(myComposable);

    // 在這裡使用你的 composable 回傳的值
    },
    };
  4. 編寫你的 composable 邏輯。你可以在回呼函式中使用 Vue 3 的 Composition API。

    import { ref } from "vue";

    export default defineComposable((context) => {
    const count = ref(0);

    const increment = () => {
    count.value++;
    };

    return {
    count,
    increment,
    };
    });

    在上面的例子中,我們定義了一個 count 變數和一個 increment 方法,並將它們回傳出去。在使用該 composable 的地方,你可以透過解構賦值來取得這些值和方法。

這樣你就可以在 Nuxt 3 中撰寫自己的 composable 了!希望這能幫助到你。