欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中關(guān)于this.refs為空出現(xiàn)原因及分析

 更新時間:2023年05月19日 09:13:56   作者:27℃涼白開  
這篇文章主要介紹了vue中關(guān)于this.refs為空出現(xiàn)原因及分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue關(guān)于this.refs為空出現(xiàn)原因分析

場景

在使用vue過程中,本想調(diào)用子組件的數(shù)據(jù),但嘗試多次一直獲取失敗。

經(jīng)過分析有以下原因

這里寫圖片描述

1、在生命周期mounted之前的鉤子函數(shù)中去調(diào)用會獲取不到,原因是DOM節(jié)點都沒有生成。

2 、this.refs的組件在v-if為false的父節(jié)點下,導(dǎo)致這個子組件未渲染,所以獲取不到。

注意

一定是組件已經(jīng)渲染成功才能調(diào)用組件的數(shù)據(jù)。而不是頁面加載完成后就一定能獲取到

vue this.$refs的使用

案例一、ref 寫在標(biāo)簽上時

<!-- ref 寫在標(biāo)簽上時:this.$refs.名字  獲取的是標(biāo)簽對應(yīng)的dom元素
     ref 寫在組件上時:這時候獲取到的是 子組件(比如counter)的引用-->
    <div id="root">
        <!-- ref = 'hello': 給div 起了一個引用的名字 hello -->
        <div
            ref = 'hello'
            @click = "handleClick">
            laugh yourself
        </div>
    </div>
    <script>
        var vm = new Vue({
            el: '#root',
            methods: {
                handleClick: function() {
                    //this.$refs : 獲取整個Vue實例中所有的引用 然后再找到hello這個引用 指向div那個dom節(jié)點
                    //console.log(this.$refs.hello)
                    alert(this.$refs.hello.innerHTML)
                }
            }
        })
    </script>

案例二、 ref 寫在組件上時

計數(shù):

<!-- ref 寫在標(biāo)簽上時:this.$refs.名字  獲取的是標(biāo)簽對應(yīng)的dom元素
     ref 寫在組件上時:這時候獲取到的是 子組件(比如counter)的引用-->
    <div id="root">
        <!-- 子組件觸發(fā)了事件 這里父組件(模板區(qū)里面)監(jiān)聽該事件 調(diào)用handleChange方法 
                                    因此handleChange方法定義在父組件的methods里面-->
        <counter ref="one" @change="handleChange"></counter>
        <counter ref="two" @change="handleChange"></counter>
        <div>{{total}}</div>
    </div>
    <script>
        Vue.component('counter', {
            template: '<div @click="handleClick"> {{number}} </div>',
            data: function() {
                return {
                    number: 0
                }
            },
            methods: {
                handleClick: function() {
                    this.number ++
                    //子組件向父組件傳值  子組件被點擊的時候 number+1  同時告訴外面 也即是觸發(fā)一個事件
                    this.$emit('change')
                }
            },
        })
        var vm = new Vue({
            el: '#root',
            data: {
                total: 0
            },
            methods: {
                handleChange: function() {
                    //在此方法中計算兩個數(shù)量的和  通過this.$refs.引用名字 獲取兩個子組件的引用
                    this.total = this.$refs.one.number +
                                    this.$refs.two.number
                }
            }
        })
    </script>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue如何監(jiān)聽元素寬高變化

    Vue如何監(jiān)聽元素寬高變化

    這篇文章主要介紹了Vue如何監(jiān)聽元素寬高變化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue給組件傳遞不同的值方法

    vue給組件傳遞不同的值方法

    今天小編就為大家分享一篇vue給組件傳遞不同的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 詳解Vue+elementUI build打包部署后字體圖標(biāo)丟失問題

    詳解Vue+elementUI build打包部署后字體圖標(biāo)丟失問題

    這篇文章主要介紹了詳解Vue+elementUI build打包部署后字體圖標(biāo)丟失問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 關(guān)于vuepress部署出現(xiàn)樣式的問題及解決

    關(guān)于vuepress部署出現(xiàn)樣式的問題及解決

    這篇文章主要介紹了關(guān)于vuepress部署出現(xiàn)樣式的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue使用js-file-download插件下載文件亂碼的解決

    vue使用js-file-download插件下載文件亂碼的解決

    這篇文章主要介紹了vue使用js-file-download插件下載文件亂碼的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • vue.js加載新的內(nèi)容(實例代碼)

    vue.js加載新的內(nèi)容(實例代碼)

    vue是一種輕巧便捷的框架,那么如何進行對于數(shù)據(jù)加載的刷新呢?以下就是我對于vue.js數(shù)據(jù)加載的一點想法
    2017-06-06
  • vue項目netWork地址無法訪問的問題及解決

    vue項目netWork地址無法訪問的問題及解決

    這篇文章主要介紹了vue項目netWork地址無法訪問的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 關(guān)于vue單文件中引用路徑的處理方法

    關(guān)于vue單文件中引用路徑的處理方法

    這篇文章主要給大家介紹了關(guān)于vue單文件中引用路徑處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案

    vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案

    今天小編就為大家分享一篇vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue使用exceljs導(dǎo)出excel文件的詳細(xì)教程

    Vue使用exceljs導(dǎo)出excel文件的詳細(xì)教程

    這篇文章主要為大家詳細(xì)介紹了Vue如何使用exceljs導(dǎo)出excel文件的詳細(xì)教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03

最新評論