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

vue獲取組件實(shí)例

這篇具有很好參考價(jià)值的文章主要介紹了vue獲取組件實(shí)例。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vue獲取組件實(shí)例

選項(xiàng)式獲取組件實(shí)例

在選項(xiàng)式中可以直接通過this來獲取組件實(shí)例,通過this來訪問實(shí)例對(duì)象的各種方法

//該組件實(shí)例管理的 DOM 根節(jié)點(diǎn)。
this.$el
//表示組件當(dāng)前已解析的 props 對(duì)象。
this.$props
//數(shù)據(jù)
this.$data
//父組件實(shí)例
this.$parent
//根組件實(shí)例
this.$root
//插槽對(duì)象
this.$slots
//一個(gè)包含 DOM 元素和組件實(shí)例的對(duì)象
this.$refs
//其他屬性:https://cn.vuejs.org/api/component-instance.html

組合式中獲取組件實(shí)例

在組合式用,代碼都寫在setup函數(shù)中,無法通過this獲取組件實(shí)例,需要通過getCurrentInstance()方法,getCurrentInstance()獲取的實(shí)例對(duì)象和選項(xiàng)式獲取組件實(shí)例不同

<script lang='ts'>
import { defineComponent,getCurrentInstance} from 'vue';
export default defineComponent({
    setup(props, { attrs, slots, emit, expose }) {
        const instance = getCurrentInstance()
    }
})
</script>
和選項(xiàng)式相同的含$的實(shí)例對(duì)象

在選項(xiàng)式中的實(shí)例的屬性都含$符號(hào),在組合式中需要通過proxy這個(gè)對(duì)象來獲取選項(xiàng)式中的實(shí)例,也就是說選項(xiàng)式中的實(shí)例對(duì)象在組合式中,屬于是組合式實(shí)例對(duì)象的proxy成員變量

const instance = getCurrentInstance()
const proxy = instance.proxy

//該組件實(shí)例管理的 DOM 根節(jié)點(diǎn)。
proxy.$el
//表示組件當(dāng)前已解析的 props 對(duì)象。
proxy.$props
//數(shù)據(jù)
proxy.$data
//父組件實(shí)例
proxy.$parent
//根組件實(shí)例
proxy.$root
//插槽對(duì)象
proxy.$slots
//一個(gè)包含 DOM 元素和組件實(shí)例的對(duì)象
proxy.$refs
//其他屬性:https://cn.vuejs.org/api/component-instance.html

//true
console.log(instance.parent.proxy == instance.proxy.$parent);
實(shí)例對(duì)象的ctx屬性問題

在組合式中實(shí)例的ctx屬性在生產(chǎn)環(huán)境中是無法獲取的,也就是說,想獲取上下文對(duì)象,應(yīng)該在setup函數(shù)中獲取

錯(cuò)誤做法

//開發(fā)環(huán)境能獲取,但在生產(chǎn)中ctx為空
const { ctx } = getCurrentInstance()   //×

正確做法

setup(props,ctx){}
getCurrentInstance被標(biāo)記為non-public APIs

https://github.com/vuejs/docs/issues/1422,盡管getCurrentInstance是非公開API但是你依舊可以使用它,因?yàn)樗莾?nèi)部實(shí)例,在你開發(fā)vue組件庫時(shí)依舊可以使用。

在vue的官方文檔中找不到getCurrentInstance(),是因?yàn)檫@方法是內(nèi)部方法

Because the instance is an internal instance that exposes non-public APIs. Anything you use from that instance can technically break between any release types, since they are not subject to semver constraints.

I’m not sure why you need the setup context in nested composables, but explicitly passing arguments to composables make then less coupled to the consuming component, thus easier to understand and test in isolation.

In general a library designed to work with Composition API should expose special variables via its own composables (e.g. useRoute from vue-router) instead of the requiring the user to grab it from the instance.文章來源地址http://www.zghlxwxcb.cn/news/detail-467618.html

到了這里,關(guān)于vue獲取組件實(shí)例的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 組件中寫選項(xiàng)的順序(vue的問題)

    為什么選項(xiàng)要有統(tǒng)一的書寫順序呢?很簡(jiǎn)單,就是要將選擇和認(rèn)知成本最小化。 副作用 ?(觸發(fā)組件外的影響) el 全局感知 ?(要求組件以外的知識(shí)) name parent 組件類型 ?(更改組件的類型) functional 模板修改器 ?(改變模板的編譯方式) delimiters comments 模板依賴 ?(模板內(nèi)使用的資源

    2024年01月18日
    瀏覽(20)
  • 微信小程序---組件通信---使用selectComponent獲取組件實(shí)例

    子組件component wxml js 一.通過父頁面增加子組件的數(shù)據(jù)值 父頁面page wxml js 二.通過父頁面調(diào)用子組件的方法

    2024年02月11日
    瀏覽(161)
  • react通過ref獲取函數(shù)子組件實(shí)例方法

    react通過ref獲取函數(shù)子組件實(shí)例方法

    在react16之后帶來了hooks之后,確實(shí)方便了很多組件開發(fā),也加快了函數(shù)式編程的速度,但是當(dāng)你通過useRef獲取子組件的時(shí)候,又恰好子組件是一個(gè)函數(shù)組件,那么將會(huì)報(bào)一個(gè)錯(cuò)誤:報(bào)這個(gè)錯(cuò)誤的主要原因是函數(shù)組件沒有實(shí)例對(duì)象,所以你沒辦法通過ref獲取子組件實(shí)例? Warnin

    2024年02月11日
    瀏覽(24)
  • 前端Vue自定義可自由滾動(dòng)新聞欄tabs選項(xiàng)卡標(biāo)簽欄標(biāo)題欄組件

    前端Vue自定義可自由滾動(dòng)新聞欄tabs選項(xiàng)卡標(biāo)簽欄標(biāo)題欄組件

    隨著技術(shù)的發(fā)展,開發(fā)的復(fù)雜度也越來越高,傳統(tǒng)開發(fā)方式將一個(gè)系統(tǒng)做成了整塊應(yīng)用,經(jīng)常出現(xiàn)的情況就是一個(gè)小小的改動(dòng)或者一個(gè)小功能的增加可能會(huì)引起整體邏輯的修改,造成牽一發(fā)而動(dòng)全身。 通過組件化開發(fā),可以有效實(shí)現(xiàn)單獨(dú)開發(fā),單獨(dú)維護(hù),而且他們之間可以隨

    2024年02月16日
    瀏覽(20)
  • unity 之 GetComponent 獲取游戲?qū)ο笊辖M件實(shí)例方法

    unity 之 GetComponent 獲取游戲?qū)ο笊辖M件實(shí)例方法

    GetComponent 是Unity引擎中用于獲取游戲?qū)ο笊辖M件實(shí)例的方法。它允許您從游戲?qū)ο笾蝎@取特定類型的組件,以便在腳本中進(jìn)行操作和交互。 GetComponent ComponentType (): 這是一個(gè)泛型方法,用于從當(dāng)前游戲?qū)ο笊汐@取指定類型的組件。在 ComponentType 部分,您應(yīng)該提供您想要獲取的

    2024年02月02日
    瀏覽(28)
  • React 使用 useRef() 獲取循環(huán)中所有子組件實(shí)例

    React 使用 useRef() 獲取循環(huán)中所有子組件實(shí)例

    之前項(xiàng)目中使用了 antd pro 中的 可編輯表格 (EditableProTable) ,在頁面中表格要經(jīng)過多層遍歷后組成的新頁面,所以我將之抽成了一個(gè)公用的組件,另外在遍歷的最外層需要通過一個(gè)按鈕統(tǒng)一提交表格數(shù)據(jù),但是提交數(shù)據(jù)之前需要對(duì)每一個(gè)表格進(jìn)行非空校驗(yàn)。 遍歷中引入組件這

    2024年02月11日
    瀏覽(51)
  • 前端Vue自定義商品訂單tabs標(biāo)題欄選項(xiàng)卡組件 可設(shè)置文字下劃線顏色

    前端Vue自定義商品訂單tabs標(biāo)題欄選項(xiàng)卡組件 可設(shè)置文字下劃線顏色

    隨著技術(shù)的發(fā)展,開發(fā)的復(fù)雜度也越來越高,傳統(tǒng)開發(fā)方式將一個(gè)系統(tǒng)做成了整塊應(yīng)用,經(jīng)常出現(xiàn)的情況就是一個(gè)小小的改動(dòng)或者一個(gè)小功能的增加可能會(huì)引起整體邏輯的修改,造成牽一發(fā)而動(dòng)全身。 通過組件化開發(fā),可以有效實(shí)現(xiàn)單獨(dú)開發(fā),單獨(dú)維護(hù),而且他們之間可以隨

    2024年02月16日
    瀏覽(25)
  • [Vue3 博物館管理系統(tǒng)] 使用Vue3、Element-plus tabs組件構(gòu)建選項(xiàng)卡功能

    [Vue3 博物館管理系統(tǒng)] 使用Vue3、Element-plus tabs組件構(gòu)建選項(xiàng)卡功能

    第一章 定制上中下(頂部菜單、底部區(qū)域、中間主區(qū)域顯示)三層結(jié)構(gòu)首頁 第二章 使用Vue3、Element-plus菜單組件構(gòu)建菜單 第三章 使用Vue3、Element-plus走馬燈組件構(gòu)建輪播圖 第四章 使用Vue3、Element-plus tabs組件構(gòu)建選項(xiàng)卡功能 [第五章 使用Vue3、Element-plus菜單組件構(gòu)建組圖文章

    2024年02月09日
    瀏覽(35)
  • vue通過js代碼實(shí)例化組件

    vue通過js代碼實(shí)例化組件

    最近在寫項(xiàng)目的一些公共組件(一些選擇器),很多個(gè)地方都需要用,所以在main.js全局聲明了,但發(fā)現(xiàn)子頁面調(diào)用還是有挺多的地方需寫。 例如,要在template實(shí)例化組件,并用ref綁定,然后在js里的methods里寫方法。 main.js 聲明全局組件 第一種方案 一開始想到的是用ref綁定組

    2024年02月08日
    瀏覽(18)
  • Vue組件滾動(dòng)加載、懶加載功能的實(shí)現(xiàn),無限滾動(dòng)加載組件實(shí)例演示

    Vue組件滾動(dòng)加載、懶加載功能的實(shí)現(xiàn),無限滾動(dòng)加載組件實(shí)例演示

    效果圖如下: 可以看到隨著不斷的滾動(dòng),頁面組件的數(shù)量不斷的加載。 其實(shí)加載的是后端返回的數(shù)據(jù),因?yàn)樯婕半[私,沒有給顯示出來。 利用懶加載,可以防止大量渲染造成卡頓降低用戶體驗(yàn)。 頁面的動(dòng)態(tài)加載這塊可以看上一篇文章: Vue 動(dòng)態(tài)添加和刪除組件的實(shí)現(xiàn),子組

    2024年02月01日
    瀏覽(95)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包