真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么上手vue3.0

這篇文章主要講解了怎么上手vue3.0,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

洛陽(yáng)網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

Vue 3 還沒有正式發(fā)布,但是 Alpha 版本已經(jīng)發(fā)布了。

雖然官方還不推薦在生產(chǎn)環(huán)境中直接使用 Vue 3 ,但是提前學(xué)習(xí)總歸是有好處的。

嘴上喊著老子學(xué)不動(dòng)了,雙手還是很誠(chéng)實(shí)的打開了 Vue 3 文檔

創(chuàng)建項(xiàng)目

Vue 官方很貼心的提供了一個(gè) github 倉(cāng)庫(kù),讓我們能快速體驗(yàn)Vue 3的新特性:

git clone https://github.com/vuejs/vue-next-webpack-preview.git vue3-start
cd vue3-start
npm install or yarn intall

開發(fā)環(huán)境準(zhǔn)備就緒后,啟動(dòng)命令:

npm run dev

在瀏覽器中打開 http://127.0.0.1:8080 ,您可以看到一個(gè)簡(jiǎn)單的計(jì)數(shù)器頁(yè)面:

怎么上手vue3.0

打開 package.json,當(dāng)前使用的 vue 版本是:3.0.0-beta.2

Vue 3 新特性

Vue 3 的設(shè)計(jì)目標(biāo)是更快,更小,并更好的支持 TypeScript 。

一些新特性包括:

1、Composition API
2、Multiple root elements
3、Suspense
4、Multiple V-models
5、Reactivity
6、Teleport
7、Transition
8、Remove Filter
9、App configuration

1、Composition API

Vue 官方發(fā)布了 Composition API 的官方插件,使廣大用戶可以在 Vue2.x 中享受 Function Base 帶來(lái)的新體驗(yàn)。
而在 vue 3 中無(wú)需單獨(dú)安裝插件,開箱即用。

打開 App.vue,你會(huì)看到 setup()方法:





Composition API 主要提供兩大好處:

1、清晰的代碼結(jié)構(gòu)
2、消除重復(fù)邏輯


如果你不喜歡使用 Composition API, 也可以繼續(xù)使用 2.x 的傳統(tǒng)方法:


上面兩段代碼在效果上市完全等價(jià)的

使用 Composition API 的好處:可以讓我們更好地組織代碼(state, methods, computed properties, watcher 等)。
隨著組件規(guī)模的增長(zhǎng),如何組織我們的業(yè)務(wù)代碼逐漸變成一個(gè)重要的問題,確保新進(jìn)的開發(fā)人員都可以輕松地理解代碼,而不需要花太多時(shí)間。

以前我們會(huì)使用 mixin 來(lái)復(fù)用代碼。然而,mixin 最大的痛點(diǎn)是,需要我們跟蹤不同組件中的狀態(tài)和方法,這往往會(huì)給開發(fā)帶來(lái)一定的心智負(fù)擔(dān),一不小心,mixin 可能會(huì)覆蓋組件中的現(xiàn)有狀態(tài)或方法。

使用 Composition API 讓代碼復(fù)用更加容易。

我們同樣可以抽取出重復(fù)功能的代碼:

// message.js
import { ref, watch } from "vue";
export function message() {
 let msg = ref(123);
 watch(msg, (newVal) => {
 console.log("msg changed", newVal);
 });
 const changeMessage = () => {
 msg.value = "new Message";
 };
 return { msg, changeMessage };
}

在其他組件中使用上面組件:


2、Multiple root elements

在 Vue 2 中,tempalte 只能取一個(gè)根元素。即使我們只有兩個(gè)

標(biāo)記,我們也必須將它們包含在一個(gè)

標(biāo)記中:

為了能編譯通過(guò),我們通常會(huì)增加一個(gè)根節(jié)點(diǎn)。

這個(gè)設(shè)計(jì)確實(shí)很糟糕,我曾經(jīng)無(wú)數(shù)次吐槽過(guò)這個(gè)設(shè)計(jì)。因?yàn)闀?huì)帶來(lái)不必要的代碼嵌套和縮進(jìn)。

幸好在 Vue 3 中取消了這一限制:
可以直接在中使用任意數(shù)量的標(biāo)簽:

用 VScode 打開模板時(shí),看到一些 lint 錯(cuò)誤,這是因?yàn)楣俜讲寮?eslint-plugin-vue 還沒有支持新的模板語(yǔ)法。

3、Suspense

Suspense 是一個(gè) Vue 3 新特性。

通常前后端交互是一個(gè)異步的過(guò)程: 默認(rèn)我們提供一個(gè)加載中的動(dòng)畫,當(dāng)數(shù)據(jù)返回時(shí)配合使用 v-if 來(lái)控制數(shù)據(jù)顯示。
Suspense 的出現(xiàn)大大簡(jiǎn)化了這個(gè)過(guò)程:它提供了 default 和 fallback 兩種狀態(tài):


4、Multiple v-models

我們都知道 v-models 用于雙向數(shù)據(jù)綁定。一般用于與表單元素一起使用。有時(shí)我們會(huì)在自定義組件中使用它。
Vue 2 只允許在一個(gè)組件上使用一個(gè) v-models。在 Vue 3 中,我們可以將任意數(shù)量的 v-model 綁定到我們的定制組件上:


SurveyForm.vue:

5、Reactivity

Vue 2 的響應(yīng)式已經(jīng)非常棒了,但在少數(shù)情況下會(huì)存在一些問題:


我們發(fā)現(xiàn)通過(guò)this.list下標(biāo)來(lái)修改元素,并不會(huì)觸發(fā) wacher 監(jiān)聽函數(shù),為了達(dá)到目的,我們不得不使用 vue.set() 或 vue.delete() 這些方法。

而在 vue 3 中,我們不需要借助其他 API:

export default {
 setup() {
 let list = ref([1, 2]);
 let myObj = ref({ name: "Preetish" });
 function myFun() {
  list.value[3] = 3;
  myObj.value.last = "HS";
  delete myObj.value.name;
 }
 return { myFun, list, myObj };
 },
};

6、Portals

Portals 提供了一種將組件中渲染到頁(yè)面任意一個(gè) DOM 節(jié)點(diǎn)中的能力。在 Vue 2 中,利用一個(gè) portal-vue 的第三方插件來(lái)做到這一點(diǎn)。

在 vue 3 中直接使用:


 

 是 vue3 中提供特定的標(biāo)簽用于創(chuàng)建一個(gè) Portals。
 中間出現(xiàn)的內(nèi)容會(huì)出現(xiàn)在 to 指定的節(jié)點(diǎn)中:

目前為止,在 Alpha 版本中并不能使用

7、Transition

之前我在使用 v-enter-active, v-enter, v-enter-to 這些個(gè)狀態(tài)時(shí)搞的暈頭轉(zhuǎn)向。
現(xiàn)在 Vue 3 從命名上更直觀了: v-enter 變成了 v-enter-from,v-leave 變成 v-leave-from。

8、Remove Filter

Vue 3 拋棄了 Filter 的用法,更推薦使用計(jì)算屬性或方法來(lái)實(shí)現(xiàn):


{{ date | format }}


{{ format(date) }}

9、App configration

在 Vue 2 中,如果想使用 use(), mixin() , directive() 等方法需要配合全局 Vue 對(duì)象:

import Vue from "vue";
import App from "./App";

Vue.use(/* ... */);
Vue.mixin(/* ... */);
Vue.component(/* ... */);
Vue.directive(/* ... */);

new Vue({
 el: "#app",
 template: "",
 components: {
  App,
 },
});

在 Vue 3 中, 改成了 createApp 返回的 Vue 實(shí)例:

import { createApp } from "vue";
import App from "./App.vue";

const app = createApp(App);

app.use(/* ... */);
app.mixin(/* ... */);
app.component(/* ... */);
app.directive(/* ... */);

app.mount("#app");

看完上述內(nèi)容,是不是對(duì)怎么上手vue3.0有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


名稱欄目:怎么上手vue3.0
文章地址:http://weahome.cn/article/geedjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部