淺談vue-props的default寫不寫有什么區(qū)別
注意 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 {}區(qū)別
在生成、導出、導入、使用 Vue 組件的時候,常常被位于不同文件的 new Vue() 和 export default{} 。
首先,Vue 是什么? po 主的理解是 Vue 就是一個構造函數(shù),生成的實例是一個巨大的對象,可以包含數(shù)據(jù)、模板、掛載元素、方法、生命周期鉤子等選項。
所以渲染的時候,可以使用構造 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寫不寫有什么區(qū)別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue2+el-menu實現(xiàn)路由跳轉及當前項的設置方法實例
這篇文章主要介紹了vue2+el-menu實現(xiàn)路由跳轉及當前項的設置,方法實例代碼詳解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11

