1. 程式人生 > 程式設計 >淺談vue-props的default寫不寫有什麼區別

淺談vue-props的default寫不寫有什麼區別

注意 default 不要寫成 defaults

例如有一個名為mk-test的元件如下:

<template>
  <div>{{maxLength}}</div>
</template>
<script>
export default {
  props: {
    maxLength: {
      type: Number,default: 1
    }
  }
}
</script>

當父元件這樣呼叫時:

<mk-test></mk-test>

渲染出來是:

1

如果把元件的default:1刪除,父元件呼叫方式不變,此時渲染結果是:

0

此時如果父元件改成:

<mk-test maxLength="3"></mk-test>

此時渲染結果是:

3

自我總結:

1、使用default定義預設值時,如果父元件有傳值,則用父值渲染。如果父元件沒有傳值,則使用預設值。

2、沒有定義預設值時,如果父元件有傳值,則用父值渲染。如果父元件沒有傳值,則使用的是該型別的預設值。型別及其預設值如下:

String ''

Number 0

Array []

Object {}

補充知識:Vue.js中的 new Vue() 和 export default {}區別

在生成、匯出、匯入、使用 Vue 元件的時候,常常被位於不同檔案的 new Vue() 和 export default{} 。

首先,Vue 是什麼? po 主的理解是 Vue 就是一個建構函式,生成的例項是一個巨大的物件,可以包含資料、模板、掛載元素、方法、生命週期鉤子等選項。

所以渲染的時候,可以使用構造 Vue 例項的方式來渲染相應的 html 頁面:

new Vue({
  el: '#app'
  ...
})

那麼 export default {} 又是?

在複用元件的時候用到的。

假設我們寫了一個單頁面元件 A 檔案,而在另一個檔案 B 裡面需要用到它,那麼就要用ES6 的 import/export 語法 ,在檔案 A 中定義輸出介面 export **,在檔案 B 中引入 import **,然後再生成一個 Vue 例項 new Vue (**),把引入的元件用起來,這樣就可以複用元件 A 去配合檔案 B 生成 html 頁面了。

所以在複用元件的時候,export 和 new Vue 缺一不可。

以上這篇淺談vue-props的default寫不寫有什麼區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。