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

溫馨提示×

溫馨提示×

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

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

Vue3父子通訊方式及Vue3插槽的使用方法是什么

發布時間:2023-01-28 15:17:38 來源:億速云 閱讀:129 作者:iii 欄目:開發技術

這篇文章主要介紹了Vue3父子通訊方式及Vue3插槽的使用方法是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Vue3父子通訊方式及Vue3插槽的使用方法是什么文章都會有所收獲,下面我們一起來看看吧。

Vue3父傳子(props)

父組件如下:

<template>
  <div class="about">
    <h2>This is an about page</h2>
    <children :num="num" age="30"></children>
  </div>
</template>
<script>
import children from "../components/children.vue";
import { ref } from "vue";
export default {
  setup() {
    let num = ref("《nanchen》");
    return {
      num,
    };
  },
  components: {
    children,
  },
};
</script>

子組件如下:

<template>
  <div>我是子組件 我的父組件值為:{{ yy }}</div>
</template>
 
<script>
import { ref } from "vue";
export default {
  name: "Vue3appChildren",
  props: {
    num: {
      type: Number,
    },
  },
  setup(props) {
    let yy = ref(props.num);
    return {
      yy,
    };
  },
 
  mounted() {},
 
  methods: {},
};
</script>
 
<style lang="scss" scoped>
</style>

Vue3父子通訊方式及Vue3插槽的使用方法是什么

setup中的參數分別有:

props:值為對象,包含:組件外部傳遞過來,且組件內部聲明接收了的屬性。
context:上下文對象
attrs: 值為對象,包含:組件外部傳遞過來,但沒有在props配置中聲明的屬性, 相當于 this.$attrs。
slots: 收到的插槽內容, 相當于 this.$slots。
emit: 分發自定義事件的函數, 相當于 this.$emit

props中可以接收父組件傳遞給子組件的參數 

Vue3子傳父({emit})

父組件:

<template>
  <div class="about">
    <h2>This is an about page</h2>
    <children :num="num" age="30" @test="showHello"></children>
  </div>
</template>
<script>
import children from "../components/children.vue";
import { ref } from "vue";
export default {
  setup() {
    let num = ref("《nanchen》");
    function showHello(value) {
      console.log(value);
    }
    return {
      num,
      showHello,
    };
  },
  components: {
    children,
  },
};
</script>

子組件

<template>
  <div @click="aboutClick">我是子組件 我的父組件值為:{{ yy }}</div>
</template>
 
<script>
import { ref } from "vue";
export default {
  name: "Vue3appChildren",
  props: {
    num: {
      type: Number,
    },
  },
  setup(props, { emit }) {
    let yy = ref(props.num);
    function aboutClick() {
      emit("test", "你好你好"); // 子傳父
    }
    return {
      yy,
      aboutClick,
    };
  },
 
  mounted() {},
 
  methods: {},
};
</script>
 
<style lang="scss" scoped>
</style>

點擊div效果如下:

Vue3父子通訊方式及Vue3插槽的使用方法是什么

Vue3插槽

    <children :num="num" age="30" @test="showHello">
      <h2>南辰,Hello</h2>
    </children>
<template>
  <div @click="aboutClick">我是子組件 我的父組件值為:{{ yy }}</div>
  <slot></slot>
</template>

Vue3父子通訊方式及Vue3插槽的使用方法是什么

具名插槽的寫法

<slot name="aabb"></slot>
	<HelloWorld>
		<template v-slot:aabb>
			<span>NanChen,你好</span>
		</template>
		 <!-- <template #aabb>
			<span>NanChen,你好</span>
		</template> -->
	</HelloWorld>

關于“Vue3父子通訊方式及Vue3插槽的使用方法是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Vue3父子通訊方式及Vue3插槽的使用方法是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

股票| 汝州市| 香格里拉县| 漯河市| 台南县| 凤城市| 东乡县| 祁东县| 南昌市| 故城县| 宕昌县| 红安县| 青冈县| 山西省| 美姑县| 武夷山市| 扎兰屯市| 钦州市| 扎鲁特旗| 岑溪市| 铁力市| 西乡县| 多伦县| 广元市| 宁化县| 巴中市| 嘉黎县| 黔南| 漠河县| 北安市| 双鸭山市| 巢湖市| 宿松县| 启东市| 青田县| 调兵山市| 梨树县| 黎平县| 邵阳县| 靖宇县| 当雄县|