跳去內容

Vue.js

出自維基百科,自由嘅百科全書
MultipleRocketLauncher討論貢獻喺2024年8月1號 (四) 19:20嘅修訂。

Template:Primary sources

Vue.js
原作者尤雨溪
開發者尤雨溪同核心團隊[1]
初始版本2014年2月,11年之前 (2014-02)[2]
最新發布3.4.31 [3]2024年6月28號,12個月之前 (2024-06-28)
程式語言TypeScript
平台Web platform
檔案大細33.9 KB min+gzip[4]
軟件類別JavaScript函式庫
許可協議MIT授權條款[5]

Vue.js(通常簡稱為Vue;讀作「view」[6])係一個開源嘅模型-視圖-視圖模型前端JavaScript框架,用嚟構建用戶界面單頁應用程式[12] 佢由尤雨溪創建,並由佢同核心團隊嘅其他活躍成員維護。[13]

概述

Vue.js嘅特色係採用漸進式架構,重點放喺聲明式渲染同組件組合。核心庫只專注喺視圖層。[6] 複雜應用所需嘅進階功能,例如路由、狀態管理同構建工具,都係透過官方維護嘅支援庫同套件提供。[14]

Vue.js允許使用HTML屬性擴展HTML,呢啲屬性叫做指令。[15] 指令為HTML應用程式提供功能,可以係內置或者用戶自定義嘅。

歷史

Vue係尤雨溪喺Google工作期間使用AngularJS做幾個項目之後創建嘅。佢後來總結咗自己嘅思路:「我諗,如果我可以將我真係鍾意嘅Angular部分抽出嚟,整一啲真係輕量嘅嘢,會點呢?」[16] 項目嘅第一個源代碼提交日期係2013年7月,Vue喺隔年2月首次公開宣布。[17][18]

版本名稱通常源自漫畫動畫

版本

版本 發布日期 標題 LTS結束日期 終止支援日期
3.4 2023年12月28號 灌籃高手[19]
3.3 2023年5月11號 浪客劍心[20]
3.2 2021年8月5號 五等分的新娘[21]
3.1 2021年6月7號 冥王[22]
3.0 2020年9月18號 海賊王[23]
2.7 2022年7月1號 火影忍者[24] 2023年12月31號 2023年12月31號
2.6 2019年2月4號 超時空要塞[25] 2022年3月18號 2023年9月18號
2.5 2017年10月13號 E班[26]
2.4 2017年7月13號 斬服少女[27]
2.3 2017年4月27號 JoJo嘅奇妙冒險[28]
2.2 2017年2月26號 頭文字D[29]
2.1 2016年11月22號 獵人[30]
2.0 2016年9月30號 攻殼機動隊[31]
1.0 2015年10月27號 新世紀福音戰士[32]
0.12 2015年6月12號 龍珠[33]
0.11 2014年11月7號 星際牛仔[34]
0.10 2014年3月23號 銀翼殺手[35]
0.9 2014年2月25號 動畫矩陣[36]
0.8 2014年1月27號 唔適用[37] 首次公開宣布嘅版本[17][18]
0.7 2013年12月24號 唔適用[38]
0.6 2013年12月8號 VueJS[39]

當發布新嘅主要版本(即v3.y.z)時,上一個次要版本(即2.x.y)會成為LTS版本,維持18個月(修正錯誤同安全漏洞),之後再維持18個月嘅維護模式(只修復安全漏洞)。[40]

特性

組件

Vue組件擴展咗基本嘅HTML元素,用嚟封裝可重用嘅代碼。簡單嚟講,組件就係帶有預定義選項嘅Vue實例。[41] 下面呢段代碼係一個Vue組件嘅例子。呢個組件顯示一個按鈕,並打印出按鈕被點擊嘅次數:

<template>
  <div id="tuto">
    <button-clicked v-bind:initial-count="0"></button-clicked>
  </div>
</template>

<script>
Vue.component('button-clicked', {
  props: ['initialCount'],
  data: () => ({
    count: 0,
  }),
  template: '<button v-on:click="onClick">撳咗 {{ count }} 次</button>',
  computed: {
    countTimesTwo() {
      return this.count * 2;
    }
  },
  watch: {
    count(newValue, oldValue) {
      console.log(`count嘅值由${oldValue}改為${newValue}。`);
    }
  },
  methods: {
    onClick() {
      this.count += 1;
    }
  },
  mounted() {
    this.count = this.initialCount;
  }
});

new Vue({
  el: '#tuto',
});
</script>

模板

Vue使用以HTML為基礎嘅模板語法,允許將渲染嘅DOM綁定到底層Vue實例嘅數據。所有Vue模板都係有效嘅HTML,可以畀符合規範嘅瀏覽器同HTML解析器解析。Vue將模板編譯成虛擬DOM渲染函數。虛擬文檔對象模型(或者叫「DOM」)允許Vue喺更新瀏覽器之前,喺佢嘅記憶體中渲染組件。結合反應系統,Vue可以計算出需要重新渲染嘅最少組件數量,並喺應用狀態改變時應用最少嘅DOM操作。 [42] Vue用戶可以使用模板語法,或者揀用hyperscript直接寫渲染函數,可以通過函數調用或者用JSX[43] 渲染函數允許應用程序由軟件組件構建。<ref>{{cite web |url=https://medium.com/the-vue-point/vue-2-0-is-here-ef1f26acf4b8#77d9 |title=Vue 2.0嚟喇! |date=September 30, 2016 |

  1. https://vuejs.org/about/team
  2. 源項目啟動嘅第一個禮拜Evan You。原先內容歸檔喺2月 5, 2019。喺3月 11, 2017搵到
  3. https://github.com/vuejs/core/blob/main/CHANGELOG.md
  4. "@vue/runtime-dom v3.2.45". Bundlephobia (英文). 原先內容歸檔喺1月 29, 2023. 喺1月 29, 2023搵到.
  5. "vue/LICENSE". Vue.js. 喺4月 17, 2017搵到 –透過GitHub.
  6. 6.0 6.1 6.2 Vuejs.org (英文)。原先內容歸檔喺2月 10, 2022。喺1月 3, 2020搵到
  7. Macrae, Callum (2018). Vue.js: Up and Running: Building Accessible and Performant Web Apps (英文). O'Reilly Media. ISBN 978-1-4919-9721-5. 原先內容歸檔喺5月 30, 2024. 喺8月 9, 2019搵到.
  8. Nelson, Brett (2018). Getting to Know Vue.js: Learn to Build Single Page Applications in Vue from Scratch (英文). Apress. ISBN 978-1-4842-3781-6. 原先內容歸檔喺5月 30, 2024. 喺8月 9, 2019搵到.
  9. Yerburgh, Edd (2019). Testing Vue.js Applications (英文). Manning Publications. ISBN 978-1-61729-524-9. 原先內容歸檔喺5月 30, 2024. 喺8月 9, 2019搵到.
  10. Freeman, Adam (2018). Pro Vue.js 2 (英文). Apress. ISBN 978-1-4842-3805-9. 原先內容歸檔喺5月 30, 2024. 喺8月 9, 2019搵到.
  11. Franklin, Jack; Wanyoike, Michael; Bouchefra, Ahmed; Silas, Kingsley; Campbell, Chad A.; Jacques, Nilson; Omole, Olayinka; Mulders, Michiel (2019). Working with Vue.js (英文). SitePoint. ISBN 978-1-4920-7144-0.[失咗效嘅鏈]
  12. [7][8][9][10][11][6]
  13. 識團隊Vuejs.org (英文)。原先內容歸檔喺2月 7, 2022。喺9月 23, 2019搵到
  14. Evan正喺創建Vue.jsPatreon (英文)。原先內容歸檔喺3月 3, 2019。喺3月 11, 2017搵到
  15. 係Vue.jsW3Schools (英文)。原先內容歸檔喺1月 22, 2020。喺1月 21, 2020搵到
  16. 雨溪Between the Wires (英文)。11月 3, 2016。原著喺6月 3, 2017歸檔。喺8月 26, 2017搵到
  17. 17.0 17.1 Vue.js: 簡單易用嘅JavaScript MVVMHacker News。2月 3, 2014。原先內容歸檔喺1月 29, 2023。喺1月 29, 2023搵到
  18. 18.0 18.1 源項目啟動嘅第一個禮拜Evan You。2月 11, 2014。原先內容歸檔喺4月 12, 2017。喺1月 29, 2023搵到
  19. "宣布Vue 3.4". Vue.js. 12月 28, 2023. 原先內容歸檔喺3月 24, 2024. 喺3月 29, 2024搵到.
  20. v3.3.0 浪客劍心Vue.js (英文)。5月 11, 2023。原先內容歸檔喺12月 13, 2023。喺5月 12, 2023搵到 –透過GitHub。
  21. v3.2.0 五等分的新娘Vue.js (英文)。8月 5, 2021。原先內容歸檔喺8月 10, 2021。喺8月 10, 2021搵到 –透過GitHub。
  22. "v3.1.0 冥王". Vue.js (英文). 6月 7, 2021. 原先內容歸檔喺7月 18, 2021. 喺7月 18, 2021搵到 –透過GitHub.
  23. v3.0.0 海賊王Vue.js (英文)。9月 18, 2020。原先內容歸檔喺9月 19, 2020。喺9月 23, 2020搵到 –透過GitHub。
  24. v2.7.0 火影忍者Vue.js (英文)。7月 1, 2022。原先內容歸檔喺7月 1, 2022。喺7月 1, 2022搵到 –透過GitHub。
  25. v2.6.0 超時空要塞Vue.js (英文)。2月 4, 2019。原先內容歸檔喺11月 11, 2020。喺9月 23, 2020搵到 –透過GitHub。
  26. "v2.5.0 E班". Vue.js (英文). 10月 13, 2017. 原先內容歸檔喺9月 18, 2020. 喺9月 23, 2020搵到 –透過GitHub.
  27. v2.4.0 斬服少女Vue.js (英文)。7月 13, 2017。原先內容歸檔喺11月 9, 2020。喺9月 23, 2020搵到 –透過GitHub。
  28. v2.3.0 JoJo嘅奇妙冒險Vue.js (英文)。4月 27, 2017。原先內容歸檔喺11月 11, 2020。喺9月 23, 2020搵到 –透過GitHub。
  29. "v2.2.0 頭文字D". Vue.js (英文). 2月 26, 2017. 原先內容歸檔喺4月 13, 2021. 喺9月 23, 2020搵到 –透過GitHub.
  30. "v2.1.0 獵人". Vue.js (英文). 11月 22, 2016. 原先內容歸檔喺11月 8, 2020. 喺9月 23, 2020搵到 –透過GitHub.
  31. v2.0.0 攻殼機動隊Vue.js (英文)。9月 30, 2016。原先內容歸檔喺10月 27, 2020。喺9月 23, 2020搵到 –透過GitHub。
  32. 1.0.0 新世紀福音戰士Vue.js (英文)。10月 27, 2015。原先內容歸檔喺4月 13, 2021。喺9月 23, 2020搵到 –透過GitHub。
  33. "0.12.0: 龍珠". Vue.js (英文). 6月 12, 2015. 原先內容歸檔喺4月 13, 2021. 喺9月 23, 2020搵到 –透過GitHub.
  34. v0.11.0: 星際牛仔Vue.js (英文)。11月 7, 2014。原先內容歸檔喺4月 13, 2021。喺9月 23, 2020搵到 –透過GitHub。
  35. v0.10.0: 銀翼殺手Vue.js (英文)。3月 23, 2014。原先內容歸檔喺4月 13, 2021。喺9月 23, 2020搵到 –透過GitHub。
  36. v0.9.0: 動畫矩陣Vue.js (英文)。2月 25, 2014。原先內容歸檔喺4月 13, 2021。喺9月 23, 2020搵到 –透過GitHub。
  37. "v0.8.0". Vue.js (英文). 1月 27, 2014. 原先內容歸檔喺4月 13, 2021. 喺9月 23, 2020搵到 –透過GitHub.
  38. "v0.7.0". Vue.js (英文). 12月 24, 2013. 原先內容歸檔喺4月 13, 2021. 喺9月 23, 2020搵到 –透過GitHub.
  39. "0.6.0: VueJS". Vue.js (英文). 12月 8, 2013. 原先內容歸檔喺4月 13, 2021. 喺9月 23, 2020搵到 –透過GitHub.
  40. Vue路線圖Vue.js (英文)。11月 6, 2022。原先內容歸檔喺12月 10, 2021。喺12月 10, 2021搵到 –透過GitHub。
  41. Vuejs.org (英文)。原先內容歸檔喺2月 10, 2022。喺3月 11, 2017搵到
  42. Jordan, John。Vue管理模板。喺7月 16, 2022搵到
  43. 板語法Vuejs.org (英文)。原先內容歸檔喺2月 10, 2022。喺3月 11, 2017搵到