精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

十分鐘 Vite + Vue 3 項目實戰教程

開發 項目管理
Vue CLI是Vue開發的命令行界面,是Vue生態系統的基準。在本教程的示例中,我們將通過Vue CLI來創建一個Vue app。

本Vue 3教程將介紹如何構建一個簡單的搜索模塊,該模塊使用文本輸入過濾數組中的文章。

也就是說,在創建這個Vue 3項目的過程中,我們需要使用Composition API構建兩個組件。

我們的目標是這樣的:

圖片

是不是很有意思呢?事不宜遲,讓我們開始編碼吧。

開始

我們可以有很多種方法將Vue 3添加到現有項目中,甚至可以自己創建一個Vue 3項目。

本教程將介紹我個人最喜歡的兩個途徑:

  • Vue CLI
  • Vite

Vue CLI

如果你以前做過Vue開發,那么一定知道如何使用Vue CLI來設置項目。

Vue CLI是Vue開發的命令行界面,是Vue生態系統的基準。在本教程的示例中,我們將通過Vue CLI來創建一個Vue app。

首先,確保擁有最新版本的Vue CLI。我們可以通過運行npm update -g @vue/cli終端來做到這一點。

接下來,為了創建項目,我們要運行vue create <PROJECT-NAME>。

如果成功更新了CLI,那就可以選擇Vue3。

圖片

一旦我們選擇了Vue 3選項,就會構建app了。完成構建后,我們只需要進入項目,然后運行Vue app!其命令是:

cd <PROJECT-NAME>
npm run serve

現在,如果我們在瀏覽器中導航到http://localhost:8080/,就能看到app了!

圖片

完美!

那么另一個創建Vue 3項目的途徑是怎么做呢?

Vite

Vite是一個新的Vue 3構建工具,它在開發過程中使用ES Module導入來提供代碼,而不是使用webpack等工具捆綁。

Vite由Vue的創建者構建,它大大加快了開發速度,而且允許更快的熱重載和更高效的冷服務器啟動。

Vite消除了僅按需編譯代碼(僅編譯現在影響當前屏幕的代碼)的捆綁過程。這意味著你不必等待整個項目捆綁在一起即可開始開發。

由于捆綁大型項目可能需要很長時間,因此Vite具有加快開發過程的巨大潛力。

為什么要使用Vue Vite?

現在你可能會問,“那么Vite與現有的vue-cli究竟有什么不同?

由于@vue-cli/service是建立在webpack之上的,因此它是一個模塊捆綁器,將在啟動、熱重載和編譯時捆綁整個Vue項目。

而Vue Vite將在代碼中采用ES Import語法,讓瀏覽器解析導入并為每次導入發出HTTP請求。

Vue Vite在開發過程中提供比基于捆綁器這個解決方案更快的啟動、熱重載和編譯速度。

當然,通過HTTP請求處理導入可能會創建網絡瀑布并減慢速度。但由于這種方法僅適用于本地開發,因此這些差異一般可忽略不計。

此外,正如我們稍后將討論的那樣,Vite項目捆綁用于生產從而完全避免這方面問題,真的是輕而易舉。

創建第一個Vite項目

為了使用Vite,我們需要運行

npm create vite@latest

然后,只需進入項目文件夾,安裝依賴項,然后使用以下命令運行app。

cd <project-name>
npm install
npm run dev

現在,我們用瀏覽器打開http://localhost:3000,那么就可以看到以下app。

圖片

你應該知道的一些Vue Vite功能

1. 捆綁項目進行生產

Vite的目標是使Vue的開發和生產盡可能簡單。盡管在開發過程中沒有捆綁,但是要捆綁項目以進行生產也非常容易。

你所要做的就是運行npm run build。

如果我們查看package.json,那么就會發現這是在調用vite build——它和其他構建過程一樣,將捆綁Vue項目并準備dist文件夾來提供服務。

圖片

2. 管理網址

與其他Vue項目設置一樣,Vite提供了兩種引用資源的方式。

  • 絕對路徑引用 – 使用公用文件夾。這些資源使用/_file.extension_引用,并將在構建項目時復制到dist文件夾的根目錄。
  • 相對路徑引用 – 例如,根據文件夾的文件結構相對訪問src/assets文件夾中的文件。生成項目時,整個文件夾將作為_assets放置在dist文件夾中。

圖片

3. 內置TypeScript支持

Vue 3最大的變化之一是使用TypeScript重寫了核心庫——允許根據IDE進行類型檢查和更好的錯誤消息。

Vue Vite也可以與Vue 3集成,為.ts文件和SFC中的TypeScript<script>提供內置的TypeScript支持。

了解 Vue 3 組件

在設置了Vue 3 app,了解了Vue 3 Vite工具之后,現在讓我們來看看這些組件是如何工作的。

Vue 3最大的變化是引入了Composition API。在這個新結構中,我們能夠按功能組織代碼,而不僅僅是通過數據、計算等來分隔代碼。

這使我們能夠創建更加模塊化、可讀和可擴展的代碼,因為可以把單個功能的代碼編寫在同一個代碼區域中。

如果我們打開src/components/HelloWorld.vue文件,可以看到與Vue2中相同的代碼——稱為Options API。

<script>
export default {
name: 'HelloWorld',
props: {
msg: String,
},
data() {
return {
count: 0,
}
},
}
</script>

上述代碼展示了我們如何在Vue 3中使用“舊的”語法。

本教程接下來還將介紹如何在新的Composition API中執行此操作,并確定Option API的更改。

Composition API中的響應式數據

在SFC的腳本部分,我們首先從vue core庫導入一些東西,以便創建響應式變量。

import { ref } from 'vue'

然后,用如下所示的setup函數替換原來的data選項。

import { ref } from 'vue'
export default {
setup() {
return {}
},
}

這個setup方法在創建組件時運行,我們可以在其中定義想要組件使用的所有響應式數據、計算屬性、方法等。

然后,setup方法返回的任何內容都可以在模板中訪問!

使用ref創建響應式數據

為了便于展示,我們先在模板中使用v-model創建一個文本輸入框。

<template>
<div>
<h2>Filter LearnVue Articles</h2>
<input type="text" placeholder="Filter Search" v-model="query" />
{{ query }}
</div>
</template>

讓我們使用ref創建響應式查詢變量,然后從setup方法返回。

export default {
setup() {
const query = ref('')
return {
query,
}
},
}

好的,現在如果我們回到app,就可以看到使用Composition API的響應式數據。

是不是很贊?

接下來,讓我們在輸入中添加按鈕,看看如何在Composition API中創建方法。

Composition API中的方法

在Option API中,Vue對象有一個專用于方法的屬性。

對于較大的文件,這意味著數據可能與使用它的方法相距數百行,從而使組件更難閱讀和維護。

而Composition API,一切都放于setup方法中,這意味著我們可以根據功能組織代碼,甚至可以將共同特征提取到它們自己的代碼模塊中。

讓我們創建一個reset方法,該方法接受ref并將其設置為空字符串。

export default {
setup() {
const query = ref('')
const reset = (evt) => {
query.value = '' // clears the query
}
return {
reset,
query,
}
},
}

需要注意的一件事是,我們需要調用query.value才能訪問數據的值。

為什么?

如果我們執行console.log(query),那么將看到它并不是一個字符串值,而是一個Proxy對象。Proxy中的陷阱使我們能夠輕松獲取數據,但這也恰恰就是為什么我們需要在ref調用.value的原因。

然后,就像在Option API中一樣,我們可以向模板添加按鈕,以便在單擊時調用此reset方法。

<button @click="reset">Reset</button>

現在,當我們使用新的輸入框代碼構建應用程序時,將如下所示。

圖片

為Vue 3項目添加第二個組件

有了輸入和查詢數據的組件,不妨實際創建一個results組件來顯示結果。

我們將其命名為SearchResults.vue。要將其添加到HelloWorld.vue代碼,首先必須導入,接著在導出默認值中進行聲明。

<script>
import { ref } from 'vue'
import SearchResults from './SearchResults.vue'
export default {
components: {
SearchResults,
},
// ...
}
</script>

然后,我們可以像這樣將其添加到模板中。

<template>
<div>
<h2>Filter LearnVue Articles</h2>
<input type="text" placeholder="Filter Search" v-model="query" />
<br />
<button @click="reset">Reset</button>
<search-results />
</div>
</template>

那么怎么使用來自HelloWorld組件的查詢字符串呢?請繼續往下看。

傳遞props

Vue props允許父組件將數據傳遞給其子組件。這里我們希望將查詢字符串從HelloWorld.vue傳遞到SearchResults.vue。

我們可以通過在HelloWorld.vue內的<search-result>標簽中添加一個屬性來做到這一點。

<search-results :query="query" />

超級簡單吧!

訪問props

讓我們在SearchResults.vue中創建組件的主結構代碼,并從JSON文件中導入所有文章信息。

import titles from "../post-data.json";
export default {
setup(props, context) {},
};

然后,我們需要幾個步驟來訪問props。

首先,必須在props選項中聲明,告訴組件我們期望什么prop以及執行我們指定的prop驗證。

export default {
props: {
query: String,
},
setup(props, context) {
// ...
},
}

如果你仔細查看setup方法,你會發現它接受兩個參數。

  • props – 包含傳遞給組件的所有參數
  • context – 包含attrs、slots和emit。

我們將使用props在setup方法中訪問props的值。

我們需要做的就是使用計算屬性通過查詢屬性過濾文章列表。

計算屬性

與使用ref類似,也需要導入到項目中。

import { computed } from 'vue'

然后像這樣設置它,其中的計算屬性接受getter方法。只要有依賴項更改,這個getter方法就會更新計算屬性。

import { computed } from 'vue'
import titles from '../post-data.json'
export default {
props: {
query: String,
},
setup(props, context) {
const filteredTitles = computed(() => {})
return {
filteredTitles,
}
},
}

在上面的方法中,我們希望使用query prop過濾所有標題。

再將所有內容都轉換為小寫,那就不必擔心大小寫問題。

const filteredTitles = computed(() => {
return titles.filter((s) =>
s.Name.toLowerCase().includes(props.query.toLowerCase())
)
})

到現在就快差不多了!

剩下要做的就是實際使用模板來顯示數據!下面的代碼使用了v-for循環:

<template>
<div class="root">
<p>Showing {{ filteredTitles.length }} results for "` query `"</p>
<ul>
<li v-for="title in filteredTitles" :key="title.Page">
{{ title.Name }}
</li>
</ul>
</div>
</template>

就是這樣。

來看看最終的成果吧。

圖片

Vue 3項目中的生命周期鉤子

在開始使用Vue 3之前,還有一件要知道的事是如何使用Vue生命周期鉤子。

圖片

與Composition API的其他部分一樣,我們必須導入生命周期鉤子并在setup方法中進行聲明,才能使用生命周期鉤子。

下面是如何使用生命周期鉤子的快速示例。

import { computed, onMounted } from 'vue'
export default {
setup() {
onMounted(() => {
console.log('mounted')
})
},
}

總結

Vue 3有很多很酷的功能,對于創建可擴展Vue app非常有用。看完本教程,有沒有興趣自己動手試試看呢?

責任編輯:武曉燕 來源: 前端新世界
相關推薦

2021-07-29 08:57:23

ViteReact模塊

2020-12-17 06:48:21

SQLkafkaMySQL

2023-08-15 15:50:42

2019-04-01 14:59:56

負載均衡服務器網絡

2021-09-07 09:40:20

Spark大數據引擎

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2024-06-19 09:58:29

2023-04-12 11:18:51

甘特圖前端

2015-09-06 09:22:24

框架搭建快速高效app

2024-05-13 09:28:43

Flink SQL大數據

2012-07-10 01:22:32

PythonPython教程

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2022-08-26 09:01:07

CSSFlex 布局

2023-07-15 18:26:51

LinuxABI

2019-09-16 09:14:51

2009-10-09 14:45:29

VB程序

2024-11-07 16:09:53

2015-11-06 11:03:36

2020-12-11 09:40:10

DevOpsCICD

2023-12-08 13:19:00

前端Reactour流行庫
點贊
收藏

51CTO技術棧公眾號

成都免费高清电影| 欧美爱爱视频网站| 国产尤物在线视频| 国产精品午夜一区二区三区| 日日夜夜一区| 99精品久久99久久久久| 欧美最猛黑人xxxx黑人猛叫黄| a级在线免费观看| 四虎精品一区二区免费| 亚洲国产精品久久久男人的天堂| 欧美极品色图| 国产三级午夜理伦三级| 国产精品五区| 久久九九精品99国产精品| 在线精品一区二区三区| 欧美xxxx性| 婷婷开心激情综合| 艳色歌舞团一区二区三区| 天天色天天操天天射| 美女一区二区视频| **欧美日韩vr在线| 久久精品成人欧美大片古装| 99热这里只有精品在线播放| 2021中文字幕在线| 中国色在线观看另类| 国产色综合一区二区三区| 亚洲视频在线观看一区二区 | 日韩精品亚洲一区| 欧美精品手机在线| 亚洲色图日韩精品| 精品在线99| 日韩av有码在线| 国产精品嫩草影院8vv8| 日韩精品三区| 欧美日韩另类字幕中文| www.男人天堂网| 青青青青在线| 国产欧美一区二区三区沐欲| 精品一区国产| 超碰在线观看99| 久久精品久久综合| 国产成人精品一区二区| 麻豆久久久久久久久久| 欧美日韩一区二区国产| 不用播放器成人网| 色婷婷粉嫩av| 999久久久国产精品| 一本大道久久加勒比香蕉| 丰满少妇一区二区三区| 美女av一区| 精品福利一二区| 日韩高清一二三区| 欧美日本三级| 欧美成人一区二区三区片免费| 国产三级精品三级在线| 国产福利拍拍拍| 浪潮色综合久久天堂| 精品国产91乱高清在线观看 | 黄色日韩在线| 欧美成人第一页| 午夜精品福利在线视频| 久久精品一区二区不卡| 久久精品欧美视频| 亚洲综合图片一区| 久久久国产精品| 久久手机精品视频| 国产a免费视频| 欧美精品日本| 国内精品一区二区三区四区| 五月天婷婷网站| 国产日韩欧美高清免费| 日本91av在线播放| 久久精品99北条麻妃| 蜜桃视频一区二区三区| 国产美女久久久| 国产免费叼嘿网站免费| 高清久久久久久| 久久国产日韩欧美| 精品久久av| 国产精品精品国产色婷婷| 国产精品h视频| 免费污视频在线| 精品久久中文字幕久久av| 99热成人精品热久久66| 97人人做人人爽香蕉精品| 欧美日韩一级大片网址| 视频区 图片区 小说区| 成人直播在线观看| 亚洲免费视频在线观看| 亚洲色图第四色| 欧美激情亚洲| 5566成人精品视频免费| 真实新婚偷拍xxxxx| 国产综合色产在线精品| 国语精品中文字幕| 超碰国产在线观看| 亚洲综合丝袜美腿| aa免费在线观看| 精品视频成人| japanese国产精品| 日韩成人性视频| 亚洲激情图片网| 日韩午夜av| 国产精品主播视频| 男人天堂手机在线观看| 国产欧美视频在线观看| 精品免费久久久久久久| 国产精品av一区二区三区| 91麻豆精品国产91久久久久久久久| 国产精品嫩草69影院| 国产探花一区| 欧美激情啊啊啊| 国内av在线播放| 不卡av在线网| 中文字幕一区二区三区5566| 麻豆成全视频免费观看在线看| 欧美日韩在线免费视频| a天堂视频在线观看| 欧美韩日一区| 日韩美女视频免费在线观看| wwwav网站| 中文欧美字幕免费| 久久久久狠狠高潮亚洲精品| 美女精品视频在线| 中文字幕亚洲欧美在线 | 国产在线日本| 一区二区三区成人| 五月激情五月婷婷| 国产日产精品一区二区三区四区的观看方式 | 一级精品视频在线观看宜春院| 日本成人黄色网| 国产一区丝袜| 欧美猛交ⅹxxx乱大交视频| 久久午夜鲁丝片| 91色乱码一区二区三区| 欧美黄网在线观看| 99精品女人在线观看免费视频 | 最新av在线播放| 欧美视频一区二区| 国产精品爽爽爽| 一级片aaaa| 国产欧美综合在线| 国产一区亚洲二区三区| 美女福利一区| 午夜精品久久久久久久白皮肤 | 亚洲国产精品久久久久秋霞不卡| 强制高潮抽搐sm调教高h| 日韩精品成人一区二区在线| 欧美一区三区二区在线观看| 日本午夜大片a在线观看| 亚洲精品99久久久久中文字幕| 午夜写真片福利电影网| 国产美女av一区二区三区| 亚洲一二三区精品| 精品亚洲a∨| 丝袜情趣国产精品| 亚洲自拍偷拍另类| 亚洲三级在线观看| 视频区 图片区 小说区| 午夜性色一区二区三区免费视频| 亚洲va久久久噜噜噜久久天堂| 国产剧情在线| 欧美一区二区观看视频| 三级影片在线看| 国产精品一级黄| 国产美女永久无遮挡| 国产乱人伦精品一区| 久久久久久久久久久久久久久久久久av| 亚洲经典一区二区| 亚洲午夜私人影院| 黄色片视频免费观看| 久久一区二区三区四区五区 | 国产欧美精品在线| 精品欧美色视频网站在线观看| 欧美日韩精品一区视频| 日韩福利小视频| 国产成人亚洲综合a∨婷婷| 无码 制服 丝袜 国产 另类| 理论片一区二区在线| 欧洲亚洲在线视频| 日韩av中文| 欧美成人一区二区三区片免费| 日产精品久久久久久久| 久久久国产精品不卡| 亚洲精品www.| 国产精品大片免费观看| 色综合天天综合网天天狠天天| 一区二区在线免费看| 综合五月婷婷| 精品国产免费久久久久久尖叫| 免费成人直播| 日韩亚洲精品视频| 囯产精品一品二区三区| 色婷婷久久久综合中文字幕| 日韩一区二区三区四区视频| 国产成人精品免费| 国产视频一区二区视频| 欧美二区视频| 欧美日韩精品综合| 日韩高清二区| 欧美中文字幕第一页| 黄色av电影在线播放| 日韩成人激情视频| 国产v片在线观看| 欧美小视频在线观看| 欧美性生交大片| 97se亚洲国产综合自在线观| 手机av在线网| 国产精品婷婷| 亚洲小视频在线播放| 一区二区三区视频免费观看| 亚洲资源在线看| 成人免费看视频网站| 久久中文字幕国产| 视频二区在线| 日韩欧美亚洲国产精品字幕久久久| 天天操夜夜操视频| 一区二区在线观看免费| 鲁丝一区二区三区| av一区二区三区| 手机精品视频在线| 免费人成精品欧美精品| 久久久久久久午夜| 欧美国产日本| 在线电影看在线一区二区三区| 啪啪激情综合网| 99在线看视频| 国产精一区二区| 国产精品海角社区在线观看| а√天堂中文在线资源8| 久久香蕉国产线看观看av| 国产h在线观看| 日韩精品在线观看视频| 高h放荡受浪受bl| 欧美一区二区大片| 亚洲一级视频在线观看| 欧美三区在线视频| 中文字幕在线播| 欧美日韩国产在线看| 五月天综合在线| 欧美理论片在线播放| 亚洲美女av黄| 全色精品综合影院| 日韩av一卡二卡| 色综合久久久久久| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 久艹视频在线观看| 亚洲国产精品成人综合| a天堂中文字幕| 91亚洲精品乱码久久久久久蜜桃| 中文字幕在线国产| 成人午夜视频网站| 91传媒理伦片在线观看| 成人一级片在线观看| www.四虎精品| 成人中文字幕合集| 亚洲高清无码久久| 成人免费视频播放| 男男一级淫片免费播放| a级精品国产片在线观看| 香港三日本8a三级少妇三级99| 成人av中文字幕| 污污污www精品国产网站| 成人sese在线| 魔女鞋交玉足榨精调教| 国产婷婷色一区二区三区四区| 波多野结衣a v在线| 国产性色一区二区| 午夜黄色福利视频| 国产精品成人一区二区艾草| 97在线观看视频免费| 亚洲免费av高清| 国产一级理论片| 精品福利樱桃av导航| aaa在线视频| 欧美日韩中文一区| 国产欧美日韩综合精品一区二区三区| 欧美一区二区三区视频在线| 亚洲AV无码一区二区三区性| 亚洲国内精品在线| 黄色av免费在线看| 久久国产一区二区三区| 四虎影院观看视频在线观看 | 国产精品中文欧美| 人妻体内射精一区二区三区| www精品美女久久久tv| 亚洲一级理论片| 亚洲国产欧美日韩另类综合| 久久国产精品免费看| 欧美日韩免费一区二区三区 | 久久综合伊人77777麻豆最新章节| 老司机久久99久久精品播放免费 | 国产精品1区二区.| 国产xxxxxxxxx| 中文在线一区二区| 日本少妇裸体做爰| 欧美日韩在线播放| 亚洲国产精品视频在线| 亚洲色图第一页| 91香蕉在线观看| 日韩av成人在线观看| 天堂精品在线视频| 奇米影视首页 狠狠色丁香婷婷久久综合| 国产精品二区不卡| 116极品美女午夜一级| 精品无码三级在线观看视频 | 麻豆一区一区三区四区| 亚洲一区在线直播| 亚洲男女自偷自拍| 波多野结衣免费观看| 国产欧美一区二区精品性色| 国产一级在线观看视频| 欧美精品在欧美一区二区少妇| 日本一卡二卡四卡精品| 欧美精品在线观看| 成人a在线观看高清电影| 国产日韩一区欧美| 亚洲一区欧美| 在线免费视频一区| 久久综合中文字幕| 国产一级理论片| 91精品国产麻豆| 成人免费在线电影| 欧美壮男野外gaytube| 1204国产成人精品视频| 黄色a级在线观看| 日韩国产高清影视| 特大黑人巨人吊xxxx| 亚洲激情在线播放| 国产精品欧美久久久久天天影视| 亚洲无亚洲人成网站77777| 成年女人在线看片| 福利视频一区二区三区| 五月激情综合| 亚洲一级免费观看| 国产精品网曝门| 免费黄色av片| 亚洲欧美成人网| 欧美大片高清| 久久精品一区二区三区不卡免费视频 | 久久99精品一区二区三区| 玖玖爱在线观看| 午夜国产不卡在线观看视频| 亚洲成人第一区| 欧美日本啪啪无遮挡网站| 国产精选久久| 国产又粗又硬又长| 国精品**一区二区三区在线蜜桃| 欧美xxxooo| 欧美在线亚洲| 午夜精品一区二区在线观看的| 国产亚洲午夜| 国产吞精囗交久久久| 欧美视频国产精品| 日韩精品一二| 国产99久久久欧美黑人| 国产在线日韩精品| 99视频免费播放| 国产精品毛片久久久久久| 在线观看亚洲一区二区| 久久精品视频播放| 欧美电影在线观看一区| 免费网站在线观看视频| 顶级嫩模精品视频在线看| 久久精品无码人妻| 亚洲精品久久久久中文字幕二区| 日韩精品av| 午夜视频久久久| 精品一区精品二区高清| 国产免费无码一区二区视频| 欧美成人精品3d动漫h| 成年人黄色大片在线| 日本黄网免费一区二区精品| 免费xxxx性欧美18vr| 波多野结衣不卡视频| 日韩欧美国产精品一区| 免费h视频在线观看| 日本欧洲国产一区二区| 精品一区二区免费视频| 久久综合亚洲色hezyo国产| 亚洲国产精品久久久久| 日本精品在线中文字幕| 天天综合五月天| 不卡影院免费观看| 国产午夜精品久久久久| 日韩中文在线观看| 成人h动漫免费观看网站| 成人一级片网站| 亚洲美女淫视频| 亚洲欧美日本在线观看| 国产精品爽爽爽爽爽爽在线观看| 日韩电影网址| 91精品国产乱码久久久久久久久| 韩日一区二区三区| 国产精品igao网网址不卡| 黑人巨大精品欧美一区二区一视频 | 豆国产96在线|亚洲| 久久久久久无码午夜精品直播| 久久久精品欧美| 亚洲人成网77777色在线播放|