浅谈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 相关文章推荐
初学prototype,发个JS接受URL参数的代码
Sep 25 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
Mar 05 Javascript
js常用DOM方法详解
Feb 04 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
Aug 21 Javascript
JavaScript继承与多继承实例分析
May 26 Javascript
JS实现面向对象继承的5种方式分析
Jul 21 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
JavaScript闭包与作用域链实例分析
Jan 21 Javascript
uni-app 组件里面获取元素宽高的实现
Dec 27 Javascript
5种 JavaScript 方式实现数组扁平化
Oct 05 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
PHP 和 COM
2006/10/09 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
JavaScript实现快速排序的方法
2015/07/31 Javascript
AngularJS基础 ng-dblclick 指令用法
2016/08/01 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
Python多线程和队列操作实例
2015/06/21 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
详解django.contirb.auth-认证
2018/07/16 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Python with关键字,上下文管理器,@contextmanager文件操作示例
2019/10/17 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
iPython pylab模式启动方式
2020/04/24 Python
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
美国正宗设计师眼镜在线零售商:EYEZZ
2019/03/23 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
座谈会主持词
2014/03/20 职场文书
2014年领班工作总结
2014/11/25 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
创业计划书之酒厂
2019/10/14 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript