浅谈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 开发中规范性的一点感想
Jun 23 Javascript
关于IE BUG与字符串截取substr的解决办法
Apr 10 Javascript
使用js获取地址栏中传递的值
Jul 02 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
全面解析Bootstrap弹窗的实现方法
Dec 01 Javascript
浅谈js中几种实用的跨域方法原理详解
Dec 02 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
Jun 23 Javascript
js实现关闭网页出现是否离开提示
Dec 07 Javascript
Javascript中弹窗confirm与prompt的区别
Oct 26 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
vue v-for 使用问题整理小结
Aug 04 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 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 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
PHP反向代理类代码
2014/08/15 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
utf8的编码算法 转载
2006/12/27 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
2015/09/15 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
2017/08/22 Javascript
对vue 键盘回车事件的实例讲解
2018/08/25 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
Python实现读取json文件到excel表
2017/11/18 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
python实现一组典型数据格式转换
2018/12/15 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
戴森英国官网:Dyson英国
2019/05/07 全球购物
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
社区志愿者活动方案
2014/08/18 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
《所见》教学反思
2016/02/23 职场文书