中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是非父子組件通信

發布時間:2021-10-11 09:25:55 來源:億速云 閱讀:121 作者:iii 欄目:開發技術

本篇內容主要講解“什么是非父子組件通信”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“什么是非父子組件通信”吧!

目錄
    • App.vue

    • Home.vue

    • HomeContent.vue

    • 數據的響應式

    • 修改響應式Property


業務場景是,不是父子組件實現通信

文件目錄

什么是非父子組件通信

App.vue

<template>
  <div>
    <Home></Home>
    <button @click="addName">增加名字</button>
  </div>
</template>
 <script>
import Home from "./Home.vue";
import { computed } from "vue";
export default {
  name: "App",
  components: {
    Home,
  },
  provide() {
    return {
      name: "張三",
      age: 23,
      length: computed(() => this.names.length),
    };
  },
  data() {
    return {
      names: ["張三", "李四", "王五"],
    };
  },
  methods: {
    addName() {
      this.names.push("fuck you");
      console.log("hhhh");
    },
  },
};
</script>
 <style scoped>
</style>

Home.vue

<template>
  <div>
    <div>我是home</div>
    <home-content></home-content>
  </div>
</template>
 <script>
import HomeContent from "./HomeContent.vue";
export default {
  name: "Home",
  components: {
    HomeContent,
  },
};
</script>
 <style scoped>
</style>

HomeContent.vue

<template>
  <div>HomeContent:{{ name }}--{{ age }}---{{ length }}</div>
</template>
 <script>
export default {
  inject: ["name", "age", "length"],
};
</script>
 <style lang="scss" scoped>
</style>

vue3中使用Provide函數和Inject函數

事實上我們之前還學習過Provide和Inject,Composition API也可以替代之前的 Provide 和 Inject 的選項。

我們可以通過 provide來提供數據:

provide可以傳入兩個參數:

name:提供的屬性名稱;

value:提供的屬性值;

什么是非父子組件通信

在 后代組件 中可以通過 inject 來注入需要的屬性和對應的值:

可以通過 inject 來注入需要的內容;

inject可以傳入兩個參數:

要 inject 的 property 的 name;

默認值;

什么是非父子組件通信

數據的響應式

為了增加 provide 值和 inject 值之間的響應性,我們可以在 provide 值時使用 ref 和 reactive。

修改響應式Property

如果我們需要修改可響應的數據,那么最好是在數據提供的位置來修改:我們可以將修改方法進行共享,在后代組件中進行調用;

注意

如果我們子組件應該是只能使用,不能修改的狀態

什么是非父子組件通信

到此,相信大家對“什么是非父子組件通信”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

杨浦区| 游戏| 长治市| 太仓市| 崇文区| 桑日县| 湛江市| 静安区| 泽普县| 彭阳县| 东台市| 新营市| 连城县| 祥云县| 邓州市| 垫江县| 延寿县| 襄城县| 田林县| 松原市| 磐安县| 德庆县| 武隆县| 青川县| 自治县| 蓬莱市| 宜都市| 罗定市| 鹰潭市| 伊金霍洛旗| 绥芬河市| 依兰县| 保德县| 金乡县| 奉节县| 大余县| 辽阳市| 玉树县| 沐川县| 苍山县| 靖边县|