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

溫馨提示×

溫馨提示×

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

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

vue中子組件的methods中獲取到props中的值方法

發布時間:2020-10-04 21:23:02 來源:腳本之家 閱讀:438 作者:FarmanKKK 欄目:web開發

父子組件通信

這個官網很清楚,也很簡單,父組件中使用v-bind綁定傳送,子組件使用props接收即可

例如:

父組件中

<template>
  <div>
    <head-top></head-top>
    <section class="data_section">
      <header class="chart-title">數據統計</header>
      <el-row :gutter="20" class="chart-head">
        <el-col :xs="24" :sm="12" :md="6" :lg="6"><div class="grid-content data-head blue-head">統計:</div></el-col>
        <el-col :xs="24" :sm="12" :md="6" :lg="6"><div class="grid-content data-head">銷售數量 <span>{{number}}</span></div></el-col>
        <el-col :xs="24" :sm="12" :md="6" :lg="6"><div class="grid-content data-head">銷售金額 <span>{{amount}}</span></div></el-col>
        <el-col :xs="24" :sm="12" :md="6" :lg="6"><div class="grid-content data-head">利潤統計 <span>{{profits}}</span></div></el-col>
      </el-row>
    </section>
    <chart :chartData="chartData"></chart>
  </div>
</template>

<script>
  data(){
      return {
        number: null,
        amount: null,
        profits: null,
        chartData: [10,10,10]
      }
    },
</script>

子組件中

export default {
  props: ['chartData']
}

這種情況下,子組件的methods中想要取到props中的值,直接使用this.chartData即可

但是有寫情況下,你的chartData里面的值并不是固定的,而是動態獲取的,這種情況下,你會發現methods中是取不到你的chartData的,或者取到的一直是默認值

比如下面這個情況

父組件中

<script>
  data(){
      return {
        number: null,
        amount: null,
        profits: null,
        chartData: []
      }
    },
    mounted(){
      this.getStatistics();
    },
    methods: {
      //獲取統計數據
      getStatistics(){
        console.log('獲取統計數據')
        axios.post(api,{

        }).then((res) => {
          this.number = res.data.domain.list[0].number;
          this.amount = res.data.domain.list[0].amount;
          this.profits = res.data.domain.list[0].profits;
          this.chartData = [this.number,this.amount,this.profits];
        }).catch((err) => {
          console.log(err);
        })
      },
    },
</script>

此時子組件的methods中使用this.chartData會發現是不存在的(因為為空了)

這情況我是使用watch處理

解決方法如下:

使用watch

props: ['chartData'],
    data(){
      return {
        cData: []
      }
    },
    watch: {
      chartData: function(newVal,oldVal){
        this.cData = newVal; //newVal即是chartData
        this.drawChart();
      }
    },

監聽chartData的值,當它由空轉變時就會觸發,這時候就能取到了,拿到值后要做的處理方法也需要在watch里面執行

以上這篇vue中子組件的methods中獲取到props中的值方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

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

AI

栾川县| 望谟县| 仁怀市| 徐水县| 贵溪市| 南昌县| 荃湾区| 桐梓县| 芜湖县| 桦甸市| 疏附县| 临泉县| 丘北县| 杭锦后旗| 扶沟县| 于田县| 宣城市| 大渡口区| 察雅县| 伊通| 务川| 固原市| 集贤县| 淅川县| 石台县| 吉安县| 高青县| 商都县| 曲阳县| 田林县| 茌平县| 喀喇沁旗| 桃园县| 囊谦县| 贺州市| 闵行区| 横山县| 罗山县| 武威市| 弋阳县| 万盛区|