Vue中props用法介紹

​前言:

在Vue中通過props,可以將原本孤立的組件串聯起來,也就是可以子組件可以接收父組件傳遞過來的data,比如子組件想要引用父組件的數據,那麼在props裡面聲明一個變量,這個變量就可以引用父元素的數據。

實例演示:

子組件:

<template>

  <div>

    <h3>我是{{name}},今年{{age}}歲,愛好:{{hobby}}</h3>,{{flag}}

  </div>

</template>



<script>

export default {

    name:'Cpn',

    // 簡單接收

    /* props:['age','hobby','name'], */

    // 聲明要接收的數據,聲明時對接收的數據進行限制

    props:{

        name: {

            // 聲明類型

            type:String,

            //聲明是否必需

            require:true,

            // 聲明默認值

            default:'默認值'

        },

        age:{

            type:Number,

            require:true,

            default:18

        },

        hobby:{

            type:String,

            require:false

        },

        flag:{

            type:Boolean,

            require:false

        }

    }

}

</script>

父組件:

<template>

  <div id="app">

    <!-- <cpn name='李明' age="22" hobby="打球"></cpn>

    <cpn name="小紅" age="20" hobby="彈琴"></cpn> -->

    <cpn name='李明'></cpn>

    <cpn hobby="編程" :flag="flag"></cpn>

      <!--備註:如果要將當前組件data裡的數據傳遞給子組件,需要通過v-bing:變量名=”變量名“的形式傳遞,如果傳遞的不是data裡面的數據,就不用加綁定指令,即v-bind(可簡寫為:)-->

    <button @click="changeFlag">切換</button>

  </div>

</template>

<script>

import Cpn from './components/Cpn.vue'

export default {

  components: { Cpn },

  name: "App",

  data() {

    return {

      flag:false

    }

  },

  methods: {

    changeFlag(){

      console.log(this.flag)

      this.flag=!this.flag;

      console.log(this.flag)

    }

  },

}

</script>

運行上面的程序可以看到,當我們通過點擊父組件的按鈕切換某個值時,子組件接收的值也會相應變化。

子組件接收父組件的數據有兩種接收方式:

  • 方式1:簡單接收, 隻需要給出所要接收的變量的名字即可
  • 方式2: 具體接收,給每個接收的變量選擇性地指明數據類型,是否可為空,默認值

到此這篇關於 Vue中props用法介紹的文章就介紹到這瞭,更多相關 Vue中props用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: