浅谈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写不写有什么区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。