国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Vue3的Script Setup使用入門教程

開發 項目管理
Vue3.0的版本已經推出來有一段時間了,我們在很多的項目中已經使用過它,相比于Vue2.0的版本,Vue3.0保留了選項式的api。

前沿

Vue3.0的版本已經推出來有一段時間了,我們在很多的項目中已經使用過它,相比于Vue2.0的版本,Vue3.0保留了選項式的api,同時還提供了最新的組合式Api來幫助我們開發項目,那為什么要推出組合式的Api呢?

舉個例子,如果我們的某一個頁面比較復雜,比如類似taobao的首頁,用選項式的Api來開發,這個頁面有非常多的組件,但是所有的組件響應式數據你都得放在data里,方法放在methods里,然后會在同一個生命周期函數里處理每一個組件的邏輯,這樣我們開發人員在開發這個頁面時,當前vue文件可能會比較長,如果只是修改一個組件的功能,我們需要不停的上下翻動Vue文件來完成修改

選項式Api,vue文件變的很長

如果我們用組合式的Api的話就能很好的解決上面的這個問題,組合式Api可以把一個組件需要用到的響應式數據、方法、生命周期函數放一個setup中,然后通過return的方式暴露給主頁使用就行了,這樣就能做到功能的很好復用

組合式Api,單個組件功能分離

使用教程

好了,前面講了一堆推薦使用組合式Api的理由和好處,我們現在就來講講這個setup的使用方式

我們實際項目一般都是通過腳手架工具去生成項目的,比如Vue3推薦使用Vite,開發的話通過單文件組件(SFC)的方式,就像下面的截圖一樣,template是模板、script里寫js邏輯,style里寫樣式

SFC開發

今天我們重點就來講這個<script setup>

1、要使用這個語法,需要將 setup 屬性 添加到<script>代碼塊上:

<script setup>
console.log('setup')
</script>

2、當使用<script setup> 的時候,任何在<script setup> 聲明的頂層的綁定 (包括變量,函數聲明,以及 import 引入的內容) 都能在模板中直接使用:

<template>
<div @click="log">{{ msg }}</div>
</template>

<script setup>
// 變量
const msg = 'Setup!'

// 函數
function log() {
console.log(msg)
}
</script>

3、import 導入的內容也會以同樣的方式暴露。意味著可以在模板表達式中直接使用導入的 helper 函數,并不需要通過 methods 選項來暴露它:

<script setup>
import { capitalize } from './helpers'
</script>

<template>
<div>{{ capitalize('hello') }}</div>
</template>

4、響應式狀態需要明確使用響應式 APIs 來創建。和從 setup() 函數中返回值一樣,ref 值在模板中使用的時候會自動解包:

<script setup>
import { ref } from 'vue'

const count = ref(0)
</script>

<template>
<button @click="count++">{{ count }}</button>
</template>

5、<script setup>范圍里的值也能被直接作為自定義組件的標簽名使用:

<script setup>
import MyComponent from './MyComponent.vue'
</script>

<template>
<MyComponent />
</template>

6、可以使用帶點的組件標記,例如 來引用嵌套在對象屬性中的組件。這在需要從單個文件中導入多個組件的時候非常有用:

<script setup>
import * as Form from './form-components'
</script>

<template>
<Form.Input>
<Form.Label>label</Form.Label>
</Form.Input>
</template>

7、使用自定義指令,但這里有一個需要注意的限制:必須以 vNameOfDirective 的形式來命名本地自定義指令,以使得它們可以直接在模板中使用。

<script setup>
const vMyDirective = {
beforeMount: (el) => {
// 在元素上做些操作
}
}
</script>
<template>
<h1 v-my-directive>This is a Heading</h1>
</template>

8、在<script setup> 中必須使用 defineProps 和 defineEmits API 來聲明 props 和 emits ,它們具備完整的類型推斷并且在<script setup> 中是直接可用的:

<script setup>
const props = defineProps({
foo: String
})

const emit = defineEmits(['change', 'delete'])
// setup code
</script>

9、在<script setup>  使用 slots 和 attrs 的情況應該是很罕見的,因為可以在模板中通過 $slots 和 $attrs 來訪問它們。在你的確需要使用它們的罕見場景中,可以分別用 useSlots 和 useAttrs 兩個輔助函數:

<script setup>
import { useSlots, useAttrs } from 'vue'

const slots = useSlots()
const attrs = useAttrs()
</script>

好了,Vue3.2的script setup就介紹到這了

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-12-01 08:11:44

Vue3 插件Vue應用

2021-12-02 05:50:35

Vue3 插件Vue應用

2021-12-15 08:23:42

Vue3 插件Vue應用

2023-04-27 11:07:24

Setup語法糖Vue3

2011-06-16 09:53:25

Qt QML 教程

2022-02-22 07:37:26

VuePinia態管理庫

2011-07-04 17:26:00

Qt SQLite

2022-06-21 12:09:18

Vue差異

2024-11-12 15:46:37

2021-11-22 11:05:20

Vue 3setup前端

2010-05-21 12:37:49

SVN使用教程

2009-07-08 15:12:48

Java Servle

2014-05-26 15:35:55

Web組件Web Compone

2013-08-29 14:12:52

Storm分布式實時計算

2010-08-03 13:06:15

Flex Builde

2024-11-06 10:16:22

2021-12-29 07:51:21

Vue3 插件Vue應用

2021-11-30 08:19:43

Vue3 插件Vue應用

2023-11-28 09:03:59

Vue.jsJavaScript

2010-03-12 14:04:32

Python入門教程
點贊
收藏

51CTO技術棧公眾號

亚洲第一中文字幕| 99r国产精品视频| sis001亚洲原创区| 亚洲免费三区一区二区| 国产奶头好大揉着好爽视频| 一本综合精品| 欧美精品123| 鲁大师成人一区二区三区| 亚洲最大av网站| 欧美精品1区| 久久久一本精品99久久精品66| 欧美日韩三级| 久久狠狠久久综合桃花| 亚洲专区在线| 在线观看欧美激情| 成人污污视频在线观看| 日本福利视频网站| 99国产精品一区| 一本久道综合色婷婷五月| 国产精品嫩草久久久久| 99热在线网站| 精品久久久久久久中文字幕 | 欧美极品欧美精品欧美| 2021国产精品久久精品| 日本黄大片一区二区三区| 中文字幕一区二区三区在线观看 | 中文字幕电影在线| 黑人巨大精品欧美一区二区免费| 色网站在线免费观看| 色综合久久综合网97色综合| 亚洲欧美一区二区三区在线播放| 色婷婷av一区二区三区软件| 免费大片在线观看www| 欧美变态tickle挠乳网站| 欧美大胆性生话| 97精品视频在线播放| 国产高清久久| 亚洲激情小视频| 欧美激情综合在线| 日本午夜一区二区| 日本一区二区三区视频| 虎白女粉嫩尤物福利视频| 五月综合激情婷婷六月色窝| 亚洲国产精品久久91精品| 日韩在线免费| 欧美激情免费看| 日韩中文字幕高清在线观看| 欧美一区二区三区成人久久片| 国产精品18久久久| 国产又猛又黄的视频| 午夜精彩视频在线观看不卡| 人人超在线公开视频| 久久好看免费视频| 久久国产亚洲精品| 在线视频欧美一区| 国产精品国产三级国产三级人妇| 国产系列在线观看| 中文字幕亚洲在线| 综合视频在线| 你懂的av在线| 欧美色爱综合| 日本在线影院| 俄罗斯av网站| 日韩一区二区免费看| 久久久久亚洲精品中文字幕| 久草热视频在线观看| 亚洲狠狠爱一区二区三区| 日本一区二区在线视频| 国产成人一区在线| 嫩草影院2018| 日韩精品在线看| 精品视频免费| 老司机午夜免费福利视频| 亚洲日本乱码在线观看| 精精国产xxxx视频在线中文版 | 性欧美精品孕妇| 亚洲欧洲日韩国产| 天天综合久久| 91精品91久久久中77777老牛| 欧美日韩在线综合| 小说区图片区色综合区| 中文字幕在线亚洲三区| 欧美日韩亚洲一区二区| 欧美成人女星排行榜| 亚洲午夜极品| 国产成人在线色| 你懂的免费在线观看| 日韩中文字幕网站| 亚洲男女自偷自拍| 欧美成人一区二区三区在线观看| 制服丝袜综合网| 日韩av中文字幕在线| 欧美激情91| 国产视频一二| 久久精品福利视频| 美女在线一区二区| 黄色av网站在线免费观看| 26uuu日韩精品一区二区| 成人一区在线看| 女子免费在线观看视频www| 成人综合网网址| 成人免费一区二区三区视频| 在线成人免费| av无码久久久久久不卡网站| 欧美一卡2卡3卡4卡| 久久久久免费av| 人人在线97| 国内久久久精品| 99久久er热在这里只有精品66| 91老司机福利在线| 日韩欧美手机在线| 制服丝袜亚洲色图| 欧美日韩调教| 男女网站在线观看| 国产精品视频专区| 亚洲精品菠萝久久久久久久| 深夜日韩欧美| 免费在线观看视频a| 亚洲女同性videos| 国产中文一区二区三区| 新版的欧美在线视频| 日本一区二区久久精品| 国产 日韩 亚洲 欧美| 老牛影视免费一区二区| 国产91色在线播放| 日韩成人亚洲| 亚洲精品中文综合第一页| 69堂亚洲精品首页| 在线一区免费观看| 麻豆传媒视频在线| 麻豆精品传媒视频| 欧美成人精品二区三区99精品| 亚洲欧美清纯在线制服| 久久99国产精品99久久| 九九精品视频在线观看| 秋霞久久久久久一区二区| 欧美日本精品一区二区三区| 最新亚洲视频| www久久日com| 热舞福利精品大尺度视频| 日韩午夜av电影| 激情五月婷婷综合网| 91精品影视| 男人操女人免费软件| 久久久久久久激情视频| 一区二区三区不卡视频在线观看| 国产精品88久久久久久| 最近高清中文在线字幕在线观看| 久久久久久a亚洲欧洲aⅴ| 精品999久久久| 美女看a上一区| 国产私拍福利精品视频二区| 欧美精品一区二区三区免费播放| 91精品国产高清久久久久久久久| 亚洲在线视频网站| 激情综合亚洲| 少妇视频在线观看| 精品少妇一区二区三区在线视频| 国产日韩欧美另类| 国产精品热视频| 91精品国产91久久久久久| av免费在线一区二区三区| 成人h在线播放| 欧美一区二区精品| 处破女av一区二区| 精品网站aaa| 最近中文字幕在线中文视频| 精品免费一区二区三区蜜桃| 精品一区二区三区三区| 国产色一区二区| 亚洲精品国产首次亮相| 国产网红在线观看| 中文字幕日本最新乱码视频| 国产精品视频精品| 亚洲精品在线观| 18欧美亚洲精品| 国产精品色网| 日韩精品一区二区三区中文字幕| 亚洲高清成人影院| 韩国无码av片在线观看网站| 热久久免费国产视频| 日韩欧美一二区| 国产精品传媒在线| 免费日韩一区二区| 粉嫩av一区二区| 麻豆网站在线| 涩涩视频免费网站| 婷婷四房综合激情五月| 日韩精品一区二区三区三区免费| 视频一区视频二区视频三区视频四区国产 | 亚洲乱码国产乱码精品精的特点 | 免费理论片在线观看播放老| 亚洲精品国产精品国自产观看 | 成人亚洲免费| 免费看成年人视频在线观看 | 亚洲电影在线| 99视频有精品高清视频| 成年人在线视频免费观看| 久久精品一区二| 日本高清一区|