亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue父子組件屬性傳遞實現方法詳解

 更新時間:2023年02月08日 09:03:56   作者:Zong_0915  
這篇文章主要介紹了Vue父子組件屬性傳遞實現方法,我們主要從案例出發(fā),用Vue3的寫法寫父子組件之間的屬性傳遞,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

前言

這節(jié)我們主要從案例出發(fā),用Vue3的寫法寫父子組件之間的屬性傳遞。

組件之間屬性的傳遞

我們定義一個Rate組件,具有以下功能:

  • 接收來自外部組件傳入的參數,starCount代表星星個數。color代表星星顏色。
  • 需要根據傳入星星的個數,展示對應數量的星星。

父組件傳遞屬性給子組件

那么在編寫組件的時候,我們需要注意什么?

  • 我們可以使用defineProps來規(guī)范傳遞數據的格式??梢越Y合withDefaults來進行默認值的賦值。
  • 如果是響應式數據的傳遞,在傳遞給子組件的時候,需要添加前綴 :。如果是常量,則不用。

我們在components目錄下創(chuàng)建完Rate.ts文件后。完整代碼如下:

<template>
  <div :style="fontstyle">
    {{ rate }}
  </div>
</template>
<script setup lang="ts">
import { computed, defineProps, withDefaults } from "vue";
// 定義父組件傳入的參數類型
interface Props {
  starCount: number;
  color: string;
}
// 規(guī)定傳值類型以及賦上默認值
let props = withDefaults(defineProps<Props>(), {
  starCount: 0,
  color: "blue",
});
// 凡是計算有關的,我們都用computed來包裝
const rate = computed(() =>
  "★★★★★☆☆☆☆☆".slice(5 - props.starCount, 10 - props.starCount)
);
const fontstyle = computed(() => {
  return `color:${props.color};`;
});
</script>

外部組件調用如下:

<template>
  <Rate starCount="3"></Rate>
  <Rate starCount="4" color="red"></Rate>
  <Rate starCount="1" color="green"></Rate>
</template>
<script setup>
import Rate from "./components/Rate.vue";
</script>

最終效果如下:

子組件傳遞屬性給父組件

我們在編寫組件的時候,我們需要注意什么?

  • 子組件:需要通過defineEmits函數,注冊一個自定義事件或者其他事件,例如click事件。然后手動觸發(fā)emit函數,調用該自定義事件,并傳遞參數。
  • 父組件:引用子組件的時候,通過v-on綁定一個函數,指向子組件里面定義的事件。注意:v-on的效果等同于@符號。

定義一個子組件Son

<template>
  <div style="margin: 10px; border: 2px solid red">
    我是子組件
    <button @click="transValue" style="margin: 5px;background:#caca88">傳值給父組件</button>
  </div>
</template>
<script setup lang="ts">
import { ref } from "vue";
// 定義所要傳給父組件的值
const num = ref<number>(0);
// 使用defineEmits注冊一個自定義事件
const emit = defineEmits(["getValue"]);
// 點擊事件觸發(fā)emit,去調用我們注冊的自定義事件getValue,并傳遞value參數至父組件
const transValue = () => {
  num.value++;
  emit("getValue", num.value);
};
</script>

父組件Father

<template>
  <div class="fa">
    <div style="margin: 10px;">我是父組件</div>
    父組件接收子組件傳的值:{{sonMessage}}
    <Son @getValue="getSonValue"></Son>
    <!-- <Son v-on:getValue="getSonValue"></Son> -->
  </div>
</template>
<script setup lang="ts">
import Son from './Son.vue'
import {ref} from "vue";
const sonMessage = ref<String>('0')
const getSonValue = (value: String) => {
  sonMessage.value = value
}
</script>
<style scoped>
.fa{
  border: 3px solid cornflowerblue;
  width: 400px;
  text-align: center;
}
</style>

運行效果如下:

到此這篇關于Vue父子組件屬性傳遞實現方法詳解的文章就介紹到這了,更多相關Vue父子組件屬性傳遞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue-devtools安裝使用全過程

    vue-devtools安裝使用全過程

    這篇文章主要介紹了vue-devtools安裝使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Vue中使用crypto-js AES對稱加密算法實現加密解密

    Vue中使用crypto-js AES對稱加密算法實現加密解密

    ?在數字加密算法中,通過可劃分為對稱加密和非對稱加密,本文主要介紹了Vue中使用crypto-js AES對稱加密算法實現加密解密,文中根據實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • VUE3中watch和watchEffect的用法詳解

    VUE3中watch和watchEffect的用法詳解

    本文主要介紹了VUE3中watch和watchEffect的用法詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Vue 中的受控與非受控組件的實現

    Vue 中的受控與非受控組件的實現

    這篇文章主要介紹了Vue 中的受控與非受控組件的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • vue如何使用外部特殊字體的操作

    vue如何使用外部特殊字體的操作

    這篇文章主要介紹了vue如何使用外部特殊字體的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue文件上傳Required request part ‘file‘ is not present問題

    vue文件上傳Required request part ‘file‘ is&n

    這篇文章主要介紹了vue文件上傳Required request part ‘file‘ is not present問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue 使用高德地圖vue-amap組件過程解析

    vue 使用高德地圖vue-amap組件過程解析

    這篇文章主要介紹了vue 使用高德地圖vue-amap組件過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • vue3實現圖片縮放拖拽功能的示例代碼

    vue3實現圖片縮放拖拽功能的示例代碼

    v3-drag-zoom 是基于 vue3 開發(fā)的一個縮放拖拽組件,方便開發(fā)者快速實現縮放拖拽功能,效果類似地圖的縮放與拖拽,本文給大家介紹了vue3如何快速實現圖片縮放拖拽功能,感興趣的朋友可以參考下
    2024-04-04
  • vue之將echart封裝為組件

    vue之將echart封裝為組件

    這篇文章主要介紹了vue之將echart封裝為組件,本文將會以雷達圖為案例,一步步講解在vue項目中如何使用echart,如何將其封裝為能重復調用的組件
    2018-06-06
  • vue+elementUI實現簡單日歷功能

    vue+elementUI實現簡單日歷功能

    這篇文章主要為大家詳細介紹了vue+elementUI實現簡單日歷功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09

最新評論