日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

初探Vue3

發布時間:2023/12/13 vue 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初探Vue3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🌜本篇文章目錄\textcolor{green}{本篇文章目錄} 🌛

🐵 新構建工具Vite\textcolor{blue}{新構建工具Vite}Vite

🐵 CompositionAPI火爆來襲\textcolor{blue}{Composition API火爆來襲}CompositionAPI

🐵 CompositionAPI的基本使用\textcolor{blue}{Composition API的基本使用}CompositionAPI使

🐵 計算屬性的使用\textcolor{blue}{計算屬性的使用}使

🐵 事件處理\textcolor{blue}{事件處理}

🐵 偵聽器\textcolor{blue}{偵聽器}

🐵 引用對象:單個原始值響應化\textcolor{blue}{引用對象:單個原始值響應化}

🐵 體驗邏輯組合\textcolor{blue}{體驗邏輯組合}

vite

如今Vue3出現后,搭建Vue項目的方式有三種,除了可以通過 vue-cli 和 webpack 搭建腳手架外 官方還提供了一種新的腳手架搭建工具 vite,前面兩種方式我們并不陌生,我們重點來看一下Vite
Vite 是 Vue 作者開發的一款意圖取代 webpack 的工具,實現原理是利用 ES6 的 import 會發送請求去加載文件的特性,攔截這些請求,做一些預編譯,省去 webpack 冗長的打包時間

使用vite快速創建一款Vue3項目

使用vite創建vue3的步驟
npm install -g create-vite-app
create-vite-app vue3-demo
cd vue3-demo
npm install

創建目錄如下

還是老樣子我們看一下項目中的package.json


確實我們的項目中的vue版本是3,并且我們的運行以及打包都是依賴Vite,現在我們npm run dev看一下

就一個字 賊快!!!!! 下面我們看一下main.js文件

我們就發現了陌生而又熟悉的地方:
Vue3是通過createApp創建vue實例的而不是new
Vue2中的所有內容都是掛載到new出來的vue構造函數(跟實例)上面的
現在vue3都是掛再到app上面
關于Vite的相關內容我們暫時就介紹這么多,更多的內容大家可以在網上找到更多的資料

Composition API火爆來襲

Composition API字面意思是組合API,它是為了實現基于函數的邏輯復用機制而產生的。是Vue的一大亮點,和Vue2的區別我們下面揭曉

下面兩張圖讓您直白的看出差距

在vue2中使用的統稱為選項api(optionApi) 比如我們需要定義數據需要我們在data選項去定義,如果我們定義方法我們就需要在methods的選項下

Vue2所運用的option api的缺點:例如我們抽離一個很簡單的組件 組建功能就是一個累加的功能,而vue抽離出去后的代碼是分散的 我們需要在data中去定義一個num 然后我們需要在methods中去創建一個add方法,功能代碼比較分散,這僅僅是一個小功能組件,如果是更復雜的邏輯呢?


Vue3中運用的是compostion Api運用的是一個功能就是一塊代碼,閱讀性可維護性會更高些

Composition API的基本使用

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="../dist/vue.global.js"></script> </head><body><div id="app"><h1>Composition API</h1><div>count: {{ state.count }}</div></div><script>const {createApp,reactive} = Vue;// 聲明組件const App = {// setup是一個新的組件選項,它是組件內使用Composition API的入口// 調用時刻是初始化屬性確定后,beforeCreate之前setup() {// 響應化:接收一個對象,返回一個響應式的代理對象const state = reactive({ count: 0 })// 返回對象將和渲染函數上下文合并return { state }}}createApp(App).mount('#app')</script> </body></html>

計算屬性的使用

<div>doubleCount: {{doubleCount}}</div> const { computed } = Vue; const App = {setup () {const state = reactive({count: 0,// computed()返回一個不可變的響應式引用對象// 它封裝了getter的返回值doubleCount: computed(() => state.count * 2)})} }

事件處理

<div @click="add">count: {{ state.count }}</div> const App = {setup () {// setup中聲明一個add函數function add () {state.count++}// 傳入渲染函數上下文return { state, add }} }

偵聽器

const { watch } = Vue; const App = {setup () {// state.count變化cb會執行// 常用方式還有watch(()=>state.count, cb)watch(() => {console.log('count變了:' + state.count);})} }

引用對象:單個原始值響應化

<div>counter: {{ counter }}</div> const { ref } = Vue; const App = {setup () {// 返回響應式的Ref對象const counter = ref(1)setTimeout(() => {// 要修改對象的valuecounter.value++}, 1000);// 添加counterreturn { state, add, counter }} }

體驗邏輯組合

const { createApp, reactive, onMounted, onUnmounted, toRefs } = Vue; // 鼠標位置偵聽 function useMouse () {// 數據響應化const state = reactive({ x: 0, y: 0 })const update = e => {state.x = e.pageXstate.y = e.pageY}onMounted(() => {window.addEventListener('mousemove', update)})onUnmounted(() => {window.removeEventListener('mousemove', update)})// 轉換所有key為響應式數據return toRefs(state) } // 事件監測 function useTime () {const state = reactive({ time: new Date() })onMounted(() => {setInterval(() => {state.time = new Date()}, 1000)})return toRefs(state) } // 邏輯組合 const MyComp = {template: ` <div>x: {{ x }} y: {{ y }}</div> <p>time: {{time}}</p> `,setup () {// 使用鼠標邏輯const { x, y } = useMouse()// 使用時間邏輯const { time } = useTime()// 返回使用return { x, y, time }} } createApp().mount(MyComp, '#app')

想了解更多關注我,持續推送

?原創不易,還希望各位大佬支持一下\textcolor{blue}{原創不易,還希望各位大佬支持一下}

👍 點贊,你的認可是我創作的動力!\textcolor{green}{點贊,你的認可是我創作的動力!}

?? 收藏,你的青睞是我努力的方向!\textcolor{green}{收藏,你的青睞是我努力的方向!}

?? 評論,你的意見是我進步的財富!\textcolor{green}{評論,你的意見是我進步的財富!}

總結

以上是生活随笔為你收集整理的初探Vue3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本中文字幕在线免费观看 | zoo性欧美 | 国产成人啪一区二区 | 国产精品一区二区三 | 色午夜婷婷 | 99在线精品免费视频 | 91狠狠 | 情欲超| 污黄视频网站 | 男人天堂网在线 | 91视频网址入口 | 88福利视频 | 99久久久无码国产精品性色戒 | 夜夜操天天| 国产一卡二卡三卡四卡 | 黄色免费版 | 国产精品第72页 | 风流老熟女一区二区三区 | 超碰97在线免费 | 91网站大全| 日韩精品极品视频免费观看 | 亚洲九色 | 特级淫片aaaaaaa级 | 日韩av专区 | 与子敌伦刺激对白播放的优点 | 伊人网址 | 婷婷色婷婷| 一级aa毛片 | av站| 亚洲精品第一 | 天天色天天操天天射 | 久久久久久伦理 | 亚洲无限看 | 欧美三级成人 | 天天干导航 | аⅴ资源中文在线天堂 | 老妇高潮潮喷到猛进猛出 | 波多野结衣在线观看一区二区三区 | 4438亚洲最大| 国产日本在线 | 男插女动态图 | 97人人模人人爽人人少妇 | 一二三区免费视频 | 8050午夜二级 | 中文字幕亚洲欧美日韩 | 在线97视频 | 日韩va亚洲va欧美va久久 | 蜜桃av噜噜一区二区三区麻豆 | 美女的胸给男人玩视频 | 青青免费在线视频 | 影音先锋男人站 | 久草视频播放 | 亚洲人午夜射精精品日韩 | 在线中文字幕播放 | 中文字幕人妻一区二区 | 99青青草 | 国产专区欧美专区 | 在线观看免费av网址 | 亚洲综合自拍偷拍 | 亚洲免费不卡视频 | 五级黄高潮片90分钟视频 | 日韩无码精品一区二区 | 在线色| 精品国产乱码久久久久久1区二区 | 最近中文字幕免费mv视频7 | 精品黑人一区二区三区观看时间 | 四色成人av永久网址 | 国产一区视频在线播放 | 中文字幕日韩精品在线观看 | 国产亚洲精品电影 | 亚洲国产看片 | 开心春色激情网 | 成年人a级片 | 中文字幕91视频 | 国产素人在线观看 | 青青草在线视频免费观看 | 亚洲精品久久久久久久蜜桃臀 | 福利综合网 | 播放毛片| 国产一级黄色大片 | 美女福利视频网 | 山外人精品影院 | 一级做a爰片久久毛片潮喷 天天透天天干 | 97se.com| 九九热最新网址 | 国产不卡视频 | 法国性xxxx精品hd | 在线不卡国产 | 午夜黄色 | 情侣作爱视频网站 | 亚洲精品视频在线免费 | 成人理论片 | 欧美久久久久 | 熟女高潮一区二区三区视频 | 色狠| 日本免费网站在线观看 | 成人特级片 | 美女精品一区 | 天天天综合网 |