浅谈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 相关文章推荐
JavaScript开发规范要求(规范化代码)
Aug 16 Javascript
原生javascript获取元素样式属性值的方法
Dec 25 Javascript
jquery清空textarea等输入框实现代码
Apr 22 Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 Javascript
解决js中window.open弹出的是上次的缓存页面问题
Dec 29 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
bootstrap表格分页实例讲解
Dec 30 Javascript
Vue-Router实现页面正在加载特效方法示例
Feb 12 Javascript
JS鼠标滚动分页效果示例
Jul 05 Javascript
详解wow.js中各种特效对应的类名
Sep 13 Javascript
浅谈实现vue2.0响应式的基本思路
Feb 13 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 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
php生成扇形比例图实例
2013/11/06 PHP
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
jQuery圆形统计图开发实例
2015/01/04 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
Python猜数字算法题详解
2020/03/01 Python
如何利用Python识别图片中的文字
2020/05/31 Python
python属于解释型语言么
2020/06/15 Python
Python csv文件记录流程代码解析
2020/07/16 Python
HTML5触摸事件实现移动端简易进度条的实现方法
2018/05/04 HTML / CSS
介绍一下Linux文件的记录形式
2012/04/18 面试题
公司业务主管岗位职责
2013/12/07 职场文书
高中军训第一天感言
2014/03/06 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
董事长助理工作职责
2014/06/08 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
个人承诺书格式范文
2015/04/29 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书