国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

defineProps和立即執(zhí)行函數不能一起使用的問題

這篇具有很好參考價值的文章主要介紹了defineProps和立即執(zhí)行函數不能一起使用的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近在開發(fā)的時候碰到一個很有意思的現象,在一個組件內,我需要定義props,使用方式如下:

const props = defineProps({
  imgSrc: {
    type: String,
    require: true,
  },
});

本來這里是沒有任何問題的,但是問題出在后面的代碼里,我們知道Vue3的組合式API生命周期是不存在created相關的鉤子函數的,如果我們希望在dom實例掛載之前做一些操作,例如請求的我們需要在onBeforeMount鉤子函數中去執(zhí)行。
那么除了在鉤子函數中運行其實我們還可以在立即執(zhí)行函數中去調用,這種調用方式是比onBeforeMount鉤子觸發(fā)要更快的,那我要說的問題就出在這里。我寫的代碼如下:
defineProps和立即執(zhí)行函數不能一起使用的問題

這個時候控制臺會報錯:
defineProps和立即執(zhí)行函數不能一起使用的問題
控制臺告訴我們props不是一個function。很奇怪啊,我們也沒有調用它啊,為什么會報這個錯呢。
在Vue的官網有這樣一句話:

definePropsdefineEmits 都是只能在 <script setup> 中使用的編譯器宏。他們不需要導入,且會隨著<script setup> 的處理過程一同被編譯掉。

這就說明在setup是將defineProps 抽離出代碼獨立去運行的,而defineProps方法會返回一個__props對象,之所以報錯就是因為我們包裹匿名函數的括號被解析成了調用defineProps方法的返回值,既然破案了那解決問題的方法也很簡單了。

1. 我們可以給立即執(zhí)行函數套一個{}來作為區(qū)分。

{
  (() => {
    const img = new Image();
    console.log(111);
  })();
}

2. 我們可以在defineProps和立即執(zhí)行函數之間添加方法或者變量的定義,這樣也可以解決這個問題。

由此我們可以得出是在解析Vue文件拿到defineProps的時候,AST沒有正確的取到defineProps相關的代碼塊導致的這個問題,如果感興趣大家可以去閱讀相關源碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-405893.html

到了這里,關于defineProps和立即執(zhí)行函數不能一起使用的問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Kotlin,解決調用了函數但是函數體內沒有執(zhí)行的問題,什么時候使用invoke

    這段代碼按照代碼邏輯來說打印的是 123 但是沒有這個打印 把foo函數轉成java的代碼如下 Function0表示有0個參數,Function1表示1個參數,以此類推到Function22,超過22可以使用FunctionN表示。 foo函數的返回類型是Function0。這也意味著,如果我們調用了foo(n),那么實質上僅僅是構造了

    2024年02月09日
    瀏覽(27)
  • 解決Jenkins執(zhí)行Python腳本不能實時輸出打印信息的問題

    在使用Jenkins的 shell command 來執(zhí)行python腳本時,總是會等腳本執(zhí)行完畢,最后一次性才把腳本中的 print 語句給打印出來; 在 print 語句后加上 sys.stdout.flush() , 就可以達到實時輸出的目的了。

    2024年02月10日
    瀏覽(19)
  • 將 SmartAssembly 與單文件可執(zhí)行文件一起使用 (.NET Core 6)

    .NET Core 6引入了創(chuàng)建單文件可執(zhí)行文件的功能。這只允許分發(fā)一個應用程序文件,因為所有配置和依賴項都包含在二進制文件本身中。 該功能為依賴項嵌入提供了一種本機方法,這在發(fā)布生成數百個程序集的獨立應用程序時最有益。它可用于依賴于框架或自包含的應用程序,

    2024年02月11日
    瀏覽(13)
  • 為什么defineProps宏函數不需要從vue中import導入?

    為什么defineProps宏函數不需要從vue中import導入?

    我們每天寫 vue 代碼時都在用 defineProps ,但是你有沒有思考過下面這些問題。為什么 defineProps 不需要 import 導入?為什么不能在非 setup 頂層使用 defineProps ? defineProps 是如何將聲明的 props 自動暴露給模板? 我們來看幾個例子,分別對應上面的幾個問題。 先來看一個正常的例

    2024年03月13日
    瀏覽(24)
  • 關于在微信小程序中使用taro + react-hook后銷毀函數無法執(zhí)行的問題

    關于在微信小程序中使用taro + react-hook后銷毀函數無法執(zhí)行的問題

    問題: 在 taro中使用navigageTo() 跳轉路由后hook中useEffect 的return函數沒有執(zhí)行 沒有執(zhí)行return函數 框架版本: ?????tarojs:? 3.6? ? ????????????????????????react:? ?18.0? ? 原因: 使用navigateTo() 跳轉路由的話并不會銷毀頁面和組件,會加入一個最大數量為十層的路由

    2024年01月24日
    瀏覽(30)
  • Vue3前端開發(fā),watch數據偵聽器的立即執(zhí)行

    Vue3前端開發(fā),watch數據偵聽器的立即執(zhí)行

    Vue3前端開發(fā),watch數據偵聽器的立即執(zhí)行!實際上,我們可以通過回調函數的后面,再追加一個對象,來設置這個參數,immediate:true.來實現一種立即執(zhí)行的效果。在頁面記載完成后,馬上就會執(zhí)行一次watch. 如上所示,我們在回調函數的后面,追加了一個參數,是一個對象類型

    2024年01月18日
    瀏覽(29)
  • javascript匿名函數之立即調用函數

    javascript匿名函數之立即調用函數

    今天在看youtube的前端代碼時發(fā)現了一個很奇怪的寫法,從來沒見過,代碼如下: 我印象中的js函數是: 結果既 沒有函數名,函數屁股后面還跟了一個大括號 ,看上去像是調用一個函數,但是奇怪的是又沒有函數名。 其實上面這種寫法叫做 立即調用函數表達式(IIFE Immedia

    2024年02月12日
    瀏覽(27)
  • 第十九章 調用Callout Library函數 - 將 $ZF(-5) 與多個庫和許多函數調用一起使用

    對 $ZF(-4,1) 的調用將標注庫 inputlibrary.dll 和 outputlibrary.dll 加載到虛擬內存中,并為其返回系統(tǒng)定義的庫 ID 。 對 $ZF(-4,3) 的調用使用庫 ID 和函數名稱來獲取庫函數的 ID 。返回的函數 ID 實際上是 ZFEntry 表序列號(請參閱上一章中的“創(chuàng)建 ZFEntry 表”)。 第一個循環(huán)使用 $ZF(-5

    2024年01月16日
    瀏覽(24)
  • AD中同一網絡的鋪銅與導線不能連接到一起的解決方法

    AD中同一網絡的鋪銅與導線不能連接到一起的解決方法

    博主第一次寫博客,格式有些問題還請見諒 #明明是同一個網絡,鋪銅和導線卻無法連接? 我在畫板子的時候遇到了這樣的問題,如圖: 明明是相同的網絡,但是卻連接不到一起。 ##解決方法 選中這一塊鋪銅 在Properties中的Fill Mode中找到這個部分 點擊小三角,找到Pour Over

    2024年02月11日
    瀏覽(22)
  • 登陸校驗解決前端success回調函數始終執(zhí)行問題

    有一串前端js登陸代碼: 和后端代碼: 存在問題: 不管前端傳遞的賬號密碼是否正確,都會成功調用success回調函數,從而導致無法判斷賬號密碼是否匹配成功。 解決辦法: 要避免無論賬號密碼是否正確都調用success回調函數,可以在后端代碼中對賬號密碼進行驗證,只有在

    2024年02月14日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包