浅谈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 相关文章推荐
js 判断checkbox是否选中的实现代码
Nov 23 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
JavaScript-html标题滚动效果的简单实现
Sep 08 Javascript
微信小程序  modal弹框组件详解
Oct 27 Javascript
Bootstrap面板使用方法
Jan 16 Javascript
Angularjs处理页面闪烁的解决方法
Mar 09 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
layui 富文本赋值,取值,取纯文本值的实例
Sep 18 Javascript
vuex入门最详细整理
Mar 04 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
Vue父子组件传值的一些坑
Sep 16 Javascript
vue祖孙组件之间的数据传递案例
Dec 07 Vue.js
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
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
Django与Vue语法的冲突问题完美解决方法
2017/12/14 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
python检测远程服务器tcp端口的方法
2015/03/14 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
canvas如何实现多张图片编辑的图片编辑器
2020/03/10 HTML / CSS
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
英语道歉信范文
2014/01/09 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
任命书格式
2014/06/05 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
年终工作总结范文2014
2014/11/27 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
python字符串的一些常见实用操作
2022/04/06 Python