iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
Vue.js

Vue3 - 從零開始學系列 第 20

Vue3 - 從零開始學 - Day20 - 模組共用

  • 分享至 

  • xImage
  •  

這個單元要來介紹另外一種模組化的方式,先前都是介紹整個 .vue 的元件可以獨立分開,有的時候會需要函式的模組化。

一開始,先宣告一個按鈕,這個按鈕一樣按下去會累加 1:

<template>
  {{ count }}
  <button @click="incrementCount">Add Count</button>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      count: 100,
    };
  },
  methods: {
    incrementCount() {
      this.count += 1;
    },
  },
};
</script>

上述的方法是常見的做法,這個時候如果在別的 .vue 檔案也需要這個累加 1 的函式,該如何是好呢?總不可能重複在另外一個 .vue 再度寫上這些程式邏輯嗎?那也只會造成日後維護的困難度增加而已。

在這裡可以把累加的這個函式先獨立出來另外一個程式檔案,新建一個程式 Count.js:

export default {
  data() {
    return {
      count: 0,
    };
  },
  methods: {
    incrementCount() {
      this.count += 1;
    },
  },
};

可以看出這個 Count.js 裡面有一個 incrementCount() 會把變數 count 進行累加。

而在 App.vue 就可以使用引用的方式來呼叫這個函式,修改 App.vue:

<template>
  {{ count }}
  <button @click="incrementCount">Add Count</button>
</template>

<script>
import Count from './Count';

export default {
  name: 'App',

  //加入模組
  mixins: [Count],
};
</script>

使用 mixins 的方式,將所引用的 Count 加入到這裡可以來使用。所以按下按鈕之後,依然可以累加 1,並且呈現出來。

今日程式碼範例

Vue3 - 從零開始學 - Day20 [完]


上一篇
Vue3 - 從零開始學 - Day19 - 生命週期
下一篇
Vue3 - 從零開始學 - Day21 - Composition
系列文
Vue3 - 從零開始學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言