最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue混合文件使用以及ref的引用實(shí)例詳解

 更新時(shí)間:2022年12月02日 11:02:21   作者:亦世凡華、  
ref用來輔助開發(fā)者在不依賴于jQuery的情況下,獲取DOM元素或組件的引用,下面這篇文章主要給大家介紹了關(guān)于Vue混合文件使用以及ref的引用的相關(guān)資料,需要的朋友可以參考下

mixin混合

在日常開發(fā)中,當(dāng)我們開發(fā)的各種組件可能會(huì)有相同的內(nèi)容,我們可以將相同的內(nèi)容在各個(gè)相對(duì)應(yīng)的組件內(nèi)刪除,然后放在同一個(gè)配置里。所謂混合兩個(gè)或多個(gè)組件共享一個(gè)配置。當(dāng)然這個(gè)配置文件的名字可以自定義,為了具體語(yǔ)義化,我將這個(gè)文件名命名mixin,當(dāng)然看個(gè)人喜好。

配置混合文件 mixin.js ,為了加深了解,繼續(xù)在混合文件上添加data數(shù)據(jù)以及添加原組件data數(shù)據(jù)

// mixin.js
export const mixin = {
    methods:{
        showName(){
            alert(this.name)
        }
    }
}
export const mixin2 = {
    // 混合里面的data的數(shù)據(jù)會(huì)和原組件data數(shù)據(jù)進(jìn)行整合
    data(){
        return {
            x:10, //如果原組件data數(shù)據(jù)本身就有該數(shù)據(jù),以原組件數(shù)據(jù)為主
            y:10
        }
    }
}

當(dāng)然混合也不能包容所有配置項(xiàng)或函數(shù),生命周期函數(shù)就是一個(gè)特例: 它不以任何為主,不管是原組件還是混合文件里面的生命周期函數(shù),只要有都要。

當(dāng)然混合我們也可以同全局組件一樣寫到全局配置上,這樣我們?cè)诨旌侠锩鎸懙絛ata數(shù)據(jù)或者是methods方法都會(huì)寫到vm上,直接使用無(wú)需調(diào)用。當(dāng)然這樣肯定是不合理的,所以Vue官方進(jìn)行解釋:推薦全局mixin應(yīng)該用于插件開發(fā),不建議應(yīng)用使用。

總結(jié)

mixin:混合可以把多個(gè)組件共用的配置提取成一個(gè)混入對(duì)象

使用方式

1)定義混合文件

2)使用混入文件

局部導(dǎo)入:mixins:['xxx']

全局導(dǎo)入:Vue.mixin(xxx)

PS:這里解釋一下 Vue 的插件 ,所謂Vue的插件類似游戲外掛,讓體驗(yàn)感更強(qiáng)一些。

功能:用于增強(qiáng)Vue

本質(zhì):包含install方法的一個(gè)對(duì)象,install的第一個(gè)參數(shù)是Vue,第二個(gè)以后的參數(shù)是插件使用者傳遞的數(shù)據(jù)。

前言

在我們沒使用框架之前,通常一般使用 jquery 來幫助程序員簡(jiǎn)化操作DOM的過程,隨著 Vue 的流行,在MVVM模型的影響下,程序員不需要操作DOM只需把數(shù)據(jù)維護(hù)好就行(也稱:數(shù)據(jù)驅(qū)動(dòng)視圖),既然在 Vue 中不需要操作DOM,所以是很少在 Vue 項(xiàng)目中安裝和使用 jquery 的。假設(shè)我們在 Vue項(xiàng)目中需要操作DOM怎么辦?這時(shí)候就需要看看接下來講解的內(nèi)容了。

ref的引用DOM

ref用來輔助開發(fā)者在不依賴于 jQuery 的情況下,獲取 DOM 元素或組件的引用。

每個(gè) vue 的組件實(shí)例上,都包含一個(gè) $refs 對(duì)象,里面存儲(chǔ)著對(duì)應(yīng)的DOM元素或組件的引用。默認(rèn)情況下,組件的 $refs 指向一個(gè)空對(duì)象

<template>
  <div class="app-container">
    <!-- 注意:ref的值是唯一的,如果出現(xiàn)重復(fù)后者會(huì)覆蓋前者,這點(diǎn)尤為注意 -->
    <h2 ref="myh1">App父組件</h2>
    <button @click="showThis">改變顏色</button>
  </div>
</template>
 
<script>
  export default {  
    methods:{
      showThis(){
        //  console.log(this);
        this.$refs.myh1.style.color = 'red'
      }
    }
  }
</script>

ref引用組件

如果想要使用ref引用頁(yè)面上的組件實(shí)例,則可以按照如下的方式進(jìn)行操作:

組件的 $nextTick(cb) 方法,會(huì)把 cb 回調(diào)推遲到下一個(gè) DOM 更新周期之后執(zhí)行。通俗的理解是:等組件的DOM更新完成之后,再執(zhí)行 cb 回調(diào)函數(shù)。從而能保證 cb 回調(diào)函數(shù)可以操作到最新 DOM 元素。

<template>
  <div class="app-container">
    <h2>App父組件</h2>
    <input type="text" v-if="inputVisible" @blur="showButton" ref="iptRef">
    <button v-else @click="showinput">點(diǎn)擊顯示輸入框</button>
  </div>
</template>
<script>
  export default {  
    data(){
      return {
        // 默認(rèn)輸入框隱藏
        inputVisible:false
      }
    },
    methods:{
      showinput(){
        // 切換布爾值,把文本框展示出來
        this.inputVisible = true
        // 讓展示出來的文本框自動(dòng)獲取焦點(diǎn)
        this.$nextTick(()=>{
          this.$refs.iptRef.focus()
        })
      },
      showButton(){
        this.inputVisible = false
      }
    },
  }
</script>
 
 

總結(jié)

ref屬性:被用來給元素或者子組件注冊(cè)引用信息(id的替代者),應(yīng)用在html標(biāo)簽上獲取的是真實(shí)DOM元素,應(yīng)用在組件標(biāo)簽上是組件實(shí)例對(duì)象(vc)

使用方式

打標(biāo)識(shí):<h1 ref="xxx">...</h1> 或  <Test ref="xxx"></Test>

獲?。簍his.$refs.xxx

到此這篇關(guān)于Vue混合文件使用以及ref的引用的文章就介紹到這了,更多相關(guān)Vue混合文件及ref引用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入了解Vue組件七種通信方式

    深入了解Vue組件七種通信方式

    vue組件通信的方式,這是在面試中一個(gè)非常高頻的問題。其實(shí)Vue組件的通信方式除了props和?$emit還有很多,本文將對(duì)vue組件通信方式進(jìn)行一下總結(jié),感興趣的可以學(xué)習(xí)一下
    2021-12-12
  • Vuex的實(shí)戰(zhàn)使用詳解

    Vuex的實(shí)戰(zhàn)使用詳解

    這篇文章主要介紹了Vuex的實(shí)戰(zhàn)使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue項(xiàng)目實(shí)現(xiàn)對(duì)某個(gè)區(qū)域繪制水印

    vue項(xiàng)目實(shí)現(xiàn)對(duì)某個(gè)區(qū)域繪制水印

    這篇文章主要為大家詳細(xì)介紹了vue項(xiàng)目實(shí)現(xiàn)對(duì)某個(gè)區(qū)域繪制水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue3.x項(xiàng)目降級(jí)到vue2.7的解決方案

    vue3.x項(xiàng)目降級(jí)到vue2.7的解決方案

    Vue2.7是Vue2.x的最終次要版本,下面這篇文章主要給大家介紹了關(guān)于vue3.x項(xiàng)目降級(jí)到vue2.7的解決方案,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • Vue文件配置全局變量的實(shí)例

    Vue文件配置全局變量的實(shí)例

    今天小編就為大家分享一篇Vue文件配置全局變量的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue+SSM實(shí)現(xiàn)圖片上傳預(yù)覽效果

    Vue+SSM實(shí)現(xiàn)圖片上傳預(yù)覽效果

    這篇文章主要為大家詳細(xì)介紹了Vue+SSM實(shí)現(xiàn)圖片上傳預(yù)覽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Vue新搭檔TypeScript快速入門實(shí)踐記錄

    Vue新搭檔TypeScript快速入門實(shí)踐記錄

    TypeScript 是一種由微軟開發(fā)的自由和開源的編程語(yǔ)言,它是 JavaScript 的一個(gè)超集,擴(kuò)展了 JavaScript 的語(yǔ)法。這篇文章主要介紹了Vue新搭檔TypeScript快速入門實(shí)踐,需要的朋友可以參考下
    2021-06-06
  • Element實(shí)現(xiàn)動(dòng)態(tài)增加多個(gè)輸入框并校驗(yàn)

    Element實(shí)現(xiàn)動(dòng)態(tài)增加多個(gè)輸入框并校驗(yàn)

    本文主要介紹了Element實(shí)現(xiàn)動(dòng)態(tài)增加多個(gè)輸入框并校驗(yàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Vue內(nèi)存泄漏的識(shí)別和解決方案

    Vue內(nèi)存泄漏的識(shí)別和解決方案

    Vue是人氣爆棚且地表最強(qiáng)的JS(JavaScript)框架,祂允許我們構(gòu)建動(dòng)態(tài)交互式的Web App,然但是,和任何軟件雷同,Vue App偶爾會(huì)遭遇內(nèi)存泄漏,導(dǎo)致性能暴跌和意外行為,今天,我們將深入Vue App內(nèi)存泄漏的原因,并探討識(shí)別和修復(fù)這些問題的錦囊妙計(jì)
    2023-11-11
  • 解讀Vue-loader的相關(guān)知識(shí)

    解讀Vue-loader的相關(guān)知識(shí)

    這篇文章主要介紹了解讀Vue-loader的相關(guān)知識(shí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評(píng)論

济宁市| 秦安县| 南木林县| 枝江市| 北宁市| 霸州市| 天镇县| 资中县| 榆社县| 华容县| 昌黎县| 凯里市| 宁海县| 台前县| 南平市| 武邑县| 阜平县| 陵川县| 曲水县| 宜阳县| 清涧县| 浦县| 腾冲县| 武夷山市| 九龙县| 自治县| 临西县| 启东市| 高安市| 建宁县| 新民市| 彰化县| 奇台县| 四川省| 达孜县| 新野县| 鄂温| 花垣县| 阳山县| 常宁市| 松桃|