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

vue子組件獲取到它父組件數(shù)據(jù)的4種方法

 更新時(shí)間:2023年08月16日 08:49:41   作者:東西方集大成者  
這篇文章主要給大家介紹了關(guān)于vue子組件獲取到它父組件數(shù)據(jù)的4種方法,對(duì)于vue來說組件之間的消息傳遞是非常重要的,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下

前言

在Vue組件中,可以通過props屬性來接收來自父組件的數(shù)據(jù),然后在組件中使用這些數(shù)據(jù)。如果父組件需要將它的數(shù)據(jù)傳遞給子組件,可以將這些數(shù)據(jù)通過props傳遞給子組件。

如果要在子組件中獲取嵌套它的頁面的數(shù)據(jù),可以使用Vue的依賴注入功能來實(shí)現(xiàn)。依賴注入允許父組件向子組件傳遞一些全局的依賴項(xiàng),包括數(shù)據(jù)、方法、插件等等。子組件可以通過訪問父組件的$parent屬性來獲取其父組件的數(shù)據(jù),但這種方法不太優(yōu)雅,而且容易受到組件層次結(jié)構(gòu)的影響。

下面是一種更為優(yōu)雅的方法,使用Vue的依賴注入來獲取嵌套它的頁面的數(shù)據(jù):

0,普遍的是用this.$parent即可

this.$parent.someData

1,在父組件中定義一個(gè)全局的數(shù)據(jù)對(duì)象,將要傳遞給子組件的數(shù)據(jù)保存在這個(gè)對(duì)象中:

export default {
  data() {
    return {
      globalData: {
        // 要傳遞給子組件的數(shù)據(jù)
        someData: 'Hello world'
      }
    }
  }
}

2, 在父組件的模板中,使用provide屬性將全局?jǐn)?shù)據(jù)對(duì)象注入到組件實(shí)例中:

<template>
  <div>
    <child-component></child-component>
  </div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      globalData: {
        // 要傳遞給子組件的數(shù)據(jù)
        someData: 'Hello world'
      }
    }
  },
  provide() {
    return {
      globalData: this.globalData
    }
  }
}
</script>

3,在子組件中,使用inject屬性來注入父組件傳遞的全局?jǐn)?shù)據(jù)對(duì)象,然后就可以在子組件中使用這些數(shù)據(jù)了:

<template>
  <div>
    <p>{{ globalData.someData }}</p>
  </div>
</template>
<script>
export default {
  inject: ['globalData']
}
</script>

在上面的代碼中,父組件使用provide屬性將全局?jǐn)?shù)據(jù)對(duì)象注入到組件實(shí)例中。子組件使用inject屬性來注入父組件傳遞的全局?jǐn)?shù)據(jù)對(duì)象,然后就可以在子組件中通過this.globalData訪問這些數(shù)據(jù)了。

需要注意的是,provide和inject屬性只能用于祖先組件向后代組件傳遞數(shù)據(jù),而不適用于子組件向父組件傳遞數(shù)據(jù)。如果需要在子組件中修改父組件的數(shù)據(jù),應(yīng)該使用事件和$emit方法來實(shí)現(xiàn)。

總結(jié)

到此這篇關(guān)于vue子組件獲取到它父組件數(shù)據(jù)的4種方法的文章就介紹到這了,更多相關(guān)vue子組件獲取父組件數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解mpvue中小程序自定義導(dǎo)航組件開發(fā)指南

    詳解mpvue中小程序自定義導(dǎo)航組件開發(fā)指南

    這篇筆記主要記錄一下基于mpvue的小程序中實(shí)現(xiàn)自定義導(dǎo)航的思路及應(yīng)用。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • element-UI el-table修改input值視圖不更新問題

    element-UI el-table修改input值視圖不更新問題

    這篇文章主要介紹了element-UI el-table修改input值視圖不更新問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Vue服務(wù)端渲染實(shí)踐之Web應(yīng)用首屏耗時(shí)最優(yōu)化方案

    Vue服務(wù)端渲染實(shí)踐之Web應(yīng)用首屏耗時(shí)最優(yōu)化方案

    這篇文章主要介紹了Vue服務(wù)端渲染實(shí)踐之Web應(yīng)用首屏耗時(shí)最優(yōu)化方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue實(shí)現(xiàn)右鍵彈出菜單

    vue實(shí)現(xiàn)右鍵彈出菜單

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)右鍵彈出菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Vue?cli3.0創(chuàng)建Vue項(xiàng)目的簡(jiǎn)單過程記錄

    Vue?cli3.0創(chuàng)建Vue項(xiàng)目的簡(jiǎn)單過程記錄

    Vue CLI是一個(gè)基于Vue.js進(jìn)行快速開發(fā)的完整系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Vue?cli3.0創(chuàng)建Vue項(xiàng)目的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • vue3中使用highlight.js實(shí)現(xiàn)代碼高亮顯示的代碼示例

    vue3中使用highlight.js實(shí)現(xiàn)代碼高亮顯示的代碼示例

    代碼高亮是在網(wǎng)頁開發(fā)中常見的需求之一,它可以使代碼在頁面上以不同的顏色或樣式進(jìn)行突出顯示提高可讀性,這篇文章主要介紹了vue3中使用highlight.js實(shí)現(xiàn)代碼高亮顯示的相關(guān)資料,需要的朋友可以參考下
    2025-04-04
  • Vue實(shí)現(xiàn)簡(jiǎn)單可擴(kuò)展甘特圖的方法詳解

    Vue實(shí)現(xiàn)簡(jiǎn)單可擴(kuò)展甘特圖的方法詳解

    Ganttastic是一個(gè)小型的Vue.js組件,用于在Web應(yīng)用程序上呈現(xiàn)一個(gè)可配置的、可拖動(dòng)的甘特圖。本文就將用它來實(shí)現(xiàn)簡(jiǎn)單可擴(kuò)展的甘特圖,感興趣的可以嘗試一下
    2022-11-11
  • 關(guān)于vue.js v-bind 的一些理解和思考

    關(guān)于vue.js v-bind 的一些理解和思考

    本篇文章主要介紹了關(guān)于vue.js v-bind 的一些理解和思考,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • vue iview組件表格 render函數(shù)的使用方法詳解

    vue iview組件表格 render函數(shù)的使用方法詳解

    下面小編就為大家分享一篇vue iview組件表格 render函數(shù)的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 詳解vue開發(fā)中調(diào)用微信jssdk的問題

    詳解vue開發(fā)中調(diào)用微信jssdk的問題

    這篇文章主要介紹了vue開發(fā)中調(diào)用微信jssdk的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論