浅谈vue-props的default写不写有什么区别


Posted in Javascript onAugust 09, 2020

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

Javascript 相关文章推荐
Jquery 一次处理多个ajax请求的代码
Sep 02 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
Jul 31 Javascript
jquery的attr方法禁用表单元素禁用输入内容
Jun 23 Javascript
JavaScript判断数组是否存在key的简单实例
Aug 03 Javascript
微信小程序 less文件编译成wxss文件实现办法
Dec 05 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
Feb 13 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
基于Vue实现微前端的示例代码
Apr 24 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
Apr 28 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 Javascript
vue的$http的get请求要加上params操作
Nov 12 Javascript
在HTML5 localStorage中存储对象的示例代码
Apr 21 Javascript
js实现带有动画的返回顶部
Aug 09 #Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 #Javascript
js实现轮播图效果 纯js实现图片自动切换
Aug 09 #Javascript
vue 子组件watch监听不到prop的解决
Aug 09 #Javascript
vue 重塑数组之修改数组指定index的值操作
Aug 09 #Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
Aug 09 #Javascript
bootstrap实现tab选项卡切换
Aug 09 #Javascript
You might like
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
PHP删除非空目录的函数代码小结
2013/02/28 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
表单JS弹出填写提示效果代码
2011/04/16 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
Postman参数化实现过程及原理解析
2020/08/13 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
python遍历 truple list dictionary的几种方法总结
2016/09/11 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
Python WSGI的深入理解
2018/08/01 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
django 类视图的使用方法详解
2019/07/24 Python
python字符串格式化方式解析
2019/10/19 Python
pymysql模块使用简介与示例
2020/11/17 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
美国最好的葡萄酒网上商店:Wine Library
2019/11/02 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
毕业自荐书
2013/12/09 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
2015年父亲节寄语
2015/03/23 职场文书
施工安全员岗位职责
2015/04/11 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS
python基础之错误和异常处理
2021/10/24 Python
关于MySQL中的 like操作符详情
2021/11/17 MySQL