最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中父子組件如何實(shí)現(xiàn)傳值

 更新時(shí)間:2023年01月22日 10:07:51   作者:芳草斜陽(yáng)_晨光  
這篇文章主要介紹了Vue中父子組件如何實(shí)現(xiàn)傳值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

提示:這里可以添加本文要記錄的大概內(nèi)容

項(xiàng)目中往往會(huì)把一些常用的公共代碼抽離出來(lái),寫(xiě)成一個(gè)子組件?;蛘咴谝粋€(gè)頁(yè)面中的代碼太多,可以根據(jù)功能的不同抽離出相關(guān)代碼寫(xiě)成子組件,這樣代碼結(jié)構(gòu)會(huì)更加簡(jiǎn)潔明了,后續(xù)維護(hù)更加方便。

本位將以一個(gè)項(xiàng)目中用到的例子進(jìn)行描述哈

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、將子組件引入父組件

父子組件頁(yè)面展示情況:

父組件引入子組件相關(guān)代碼:

示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。

二、父組件如何傳值給子組件

父組件:通過(guò)數(shù)據(jù)綁定將數(shù)據(jù)傳遞給子組件

//父組件
<device-dialog
      :personInfo="info" //父組件通過(guò)賦值給info將表單數(shù)據(jù)傳給子組件
      :action="action" //判斷是新增還是編輯 add、edit
      :dialogText="dialogText" //對(duì)話框顯示的標(biāo)題
      @toClose="dialogConfirm('cancel')" //關(guān)閉按鈕對(duì)應(yīng)的函數(shù)
      @toComfirm="requestApi('getUser')" //確定按鈕對(duì)應(yīng)的函數(shù)
      v-if="this.dialogFormNew" //控制對(duì)話框的顯示與隱藏
></device-dialog>

this.info = this.form_user; //父組件中相關(guān)的值賦值給info
this.dialogText = '編輯設(shè)備信息';
this.dialogFormNew = true;

三、子組件如何接收父組件傳過(guò)來(lái)的值并使用(props)

1. 通過(guò)props接收父組件的傳值

<script>
export default {
  name: 'personDetail',
  props: {
    personInfo: {
      type: Object,
      default: {}
    },
    action: {
      type: String,
      default: {}
    },
    dialogText: {
      type: String,
      default: {}
    }
  }
}
</script>

2. 將props的值賦值給子組件里的數(shù)組容器從而展示父組件傳過(guò)來(lái)的數(shù)據(jù)

created() {
    this.form_user = this.personInfo; //form_user是子組件對(duì)話框顯示表單數(shù)據(jù)的數(shù)組
  }

四、子組件如何傳值給父組件($emit)

子組件:這里主要通過(guò)子組件對(duì)話框取消和確定兩個(gè)點(diǎn)擊事件進(jìn)行傳值

   </template>
    </div>
     <el-dialog>
      <div
        slot="footer"
        class="dialog-footer"
      >
        <el-button @click="dialogConfirm('cancel')">取 消</el-button>
        <el-button
          type="primary"
          @click="dialogConfirm('confirm')"
        >
          確 定
        </el-button>
      </div>
    </el-dialog>
   </div>
  </template>
  
<script>
dialogConfirm(res) {
if (this.action === 'edit') {
        if (res === 'cancel') {
          this.closeDialog();
        } else {
          this.$refs['userForm'].validate((valid) => {
            //驗(yàn)證成功
            if (valid) {
              this.requestApi('edit'); //進(jìn)入api新增請(qǐng)求
            } else {
              //驗(yàn)證失敗
              console.log('error submit!!');
              return false;
            }
          });
        }
      }
},
closeDialog() {
      this.$emit('toClose', false); //通過(guò)$emit將參數(shù)false傳值給父組件toClose對(duì)應(yīng)的函數(shù)
    },
requestApi(action, verifyCB) {
      switch (action) {
        // 查看編輯
        case 'edit':
        this.$axios({
            method: 'post',
            url: '/office/roomDevice/updateLock?random=' + Math.random() * 10,
            data: {
              id: this.form_user.deviceId,
              deviceName: this.form_user.deviceName,
              deviceAddress: this.form_user.deviceAddress
            },
            headers: {
              Authorization: 'Bearer ' + sessionStorage.getItem('token')
            }
          })
            .then((res) => {
              console.log('編輯_res:', res);
              if (res.data.code === 0) {
                this.tips(res.data.message, 'success');
                this.comfirm();
              } else {
                this.tips(res.data.message, 'warning');
              }
            })
            .catch((error) => {
              console.error(error);
            });
          break;
     },
     comfirm() {
      this.$emit('toComfirm'); //這里將相關(guān)的數(shù)據(jù)傳回父組件
    }
</script>

五、父組件使用子組件傳過(guò)來(lái)的值

如下面的代碼所示,closeData和confirmData分別接收取消和確定時(shí)子組件傳過(guò)來(lái)的值

總結(jié)

1、父子組件之間的傳參用的比較多的就是當(dāng)父組件向子組件傳遞參數(shù)時(shí),子組件用props接收參數(shù),父組件綁定要傳的參數(shù)。

2、子組件傳遞參數(shù)給父組件時(shí)試用$emit(父組件函數(shù),要傳的參數(shù))來(lái)傳遞數(shù)向父組件傳遞參數(shù)

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

相關(guān)文章

  • vuex實(shí)現(xiàn)購(gòu)物車的增加減少移除

    vuex實(shí)現(xiàn)購(gòu)物車的增加減少移除

    這篇文章主要為大家詳細(xì)介紹了vuex實(shí)現(xiàn)購(gòu)物車的增加減少移除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue使用Font Awesome的方法步驟

    vue使用Font Awesome的方法步驟

    這篇文章主要介紹了vue使用Font Awesome的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • 如何解決vue項(xiàng)目打包后文件過(guò)大問(wèn)題

    如何解決vue項(xiàng)目打包后文件過(guò)大問(wèn)題

    這篇文章主要介紹了如何解決vue項(xiàng)目打包后文件過(guò)大問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用

    Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用

    這篇文章主要介紹了Vue2.4+新增屬性.sync、$attrs、$listeners的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Vue-router優(yōu)化import引入過(guò)多導(dǎo)致index文件臃腫問(wèn)題

    Vue-router優(yōu)化import引入過(guò)多導(dǎo)致index文件臃腫問(wèn)題

    這篇文章主要為大家介紹了Vue-router優(yōu)化import引入過(guò)多導(dǎo)致index文件臃腫問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • vue彈窗消息組件的使用方法

    vue彈窗消息組件的使用方法

    這篇文章主要為大家詳細(xì)介紹了vue彈窗消息組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • vue+Element實(shí)現(xiàn)搜索關(guān)鍵字高亮功能

    vue+Element實(shí)現(xiàn)搜索關(guān)鍵字高亮功能

    這篇文章主要為大家詳細(xì)介紹了vue+Element實(shí)現(xiàn)搜索關(guān)鍵字高亮功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Vuex的五大核心詳細(xì)講解

    Vuex的五大核心詳細(xì)講解

    這篇文章主要為大家介紹了vuex的五個(gè)核心概念和基本使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-09-09
  • VUE的tab頁(yè)面切換的四種方法

    VUE的tab頁(yè)面切換的四種方法

    這篇文章主要介紹了VUE的tab頁(yè)面切換的四種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Vue 頁(yè)面監(jiān)聽(tīng)用戶預(yù)覽時(shí)間功能的實(shí)現(xiàn)代碼

    Vue 頁(yè)面監(jiān)聽(tīng)用戶預(yù)覽時(shí)間功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Vue 頁(yè)面如何監(jiān)聽(tīng)用戶預(yù)覽時(shí)間,首先需要借助vue頁(yè)面的生命周期函數(shù)mounted和destroyed,分別加入開(kāi)始計(jì)時(shí)和清除計(jì)時(shí)的邏輯,通過(guò)相關(guān)操作實(shí)現(xiàn)此功能,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

偃师市| 丹棱县| 甘泉县| 页游| 邹平县| 浏阳市| 泉州市| 贵州省| 南宁市| 临安市| 营口市| 财经| 苍南县| 黎平县| 五常市| 巴南区| 沙河市| 台中县| 涟水县| 伊金霍洛旗| 当雄县| 九寨沟县| 黎城县| 平泉县| 东明县| 抚宁县| 辽宁省| 同德县| 同江市| 丽江市| 石门县| 洛浦县| 宁陵县| 温宿县| 巫溪县| 清河县| 淳化县| 黔东| 东丰县| 健康| 邮箱|