vue中的prop组件封装
一、props不设置具体的类型字段(不常用)
传静态的属性
子组件:
<template>
<div>
<h1>{{ msg }}</h1>
</div>
</template> <script>
export default {
props: ["msg"]
}
</script>
父组件:
<template>
<div id="app">
<HelloWorld msg="hello"/>
</div>
</template> <script>
import HelloWorld from "./components/HelloWorld.vue"; export default {
components: {
HelloWorld
}
};
</script>
好了,这样就完成了一个最简单的使用prop接收父元素的值
传动态字符串
子组件
<template>
<div>
<h1>{{ msg }}</h1>
</div>
</template> <script>
export default {
props: ["msg"]
}
</script>
父组件
<template>
<div id="app">
<HelloWorld :msg="hello"/>
</div>
</template> <script>
import HelloWorld from "./components/HelloWorld.vue"; export default {
components: {
HelloWorld
},
data() {
return {
hello: "hello world"
}
}
};
</script>
可以看到,子组件我未做任何修改,只是在父组件做了一些修改
传动态数组
子组件
<template>
<div>
<ul>
<li v-for="item in msg" :key="item">
{{ item }}
</li>
</ul>
</div>
</template> <script>
export default {
props: ["msg"]
}
</script>
父组件
<template>
<div id="app">
<HelloWorld :msg="hello"/>
</div>
</template> <script>
import HelloWorld from "./components/HelloWorld.vue"; export default {
components: {
HelloWorld
},
data() {
return {
hello: ["aa", "bb", "cc"]
}
}
};
</script>
传动态对象
子组件
<template>
<div>
<h1>{{ msg.id }}</h1>
<h2>{{ msg.name }}</h2>
</div>
</template> <script>
export default {
props: ["msg"]
}
</script>
父组件
<template>
<div id="app">
<HelloWorld :msg="hello"/>
</div>
</template> <script>
import HelloWorld from "./components/HelloWorld.vue"; export default {
components: {
HelloWorld
},
data() {
return {
hello: {
id: 1,
name: "hello dj"
}
}
}
};
</script>
二、props的状态进行验证(常用)
父子组件中页面模板的写法与引用与上述一致,区别在于子组件script标签内props字段的写法
prop的状态即类型可以为
String
Number
Boolean
Array
Object
Date
Function
Symbol
可以接收不同的数据类型,这里列出了常用的数据类型的设置默认值的写法
props: {}填入
refAge: {
type: Number,
default: 0
},
refName: {
type: String,
default: ''
},
hotDataLoading: {
type: Boolean,
default: false
},
hotData: {
type: Array,
default: () => {
return []
}
},
getParams: {
type: Function,
default: () => () => {}
},
meta: {
type: Object,
default: () => ({})
}
vue中的prop组件封装的更多相关文章
- 【Vue】Vue中的父子组件通讯以及使用sync同步父子组件数据
前言: 之前写过一篇文章<在不同场景下Vue组件间的数据交流>,但现在来看,其中关于“父子组件通信”的介绍仍有诸多缺漏或者不当之处, 正好这几天学习了关于用sync修饰符做父子组件数据双向 ...
- vue中的父子组件相互调用
vue中的父子组件相互调用: 1.vue子组件调用父组件方法:子组件:this.$emit('xx'); 父组件:定义yy方法,并在引用子组件时传参,如@xx="yy" 2.vue ...
- 浅谈Vue中的Prop
Prop 基本用法 Prop的基本用法很简单,只需要在子组件的Vue实例中定义该属性并把值设为目标属性的数组即可 Vue.component('child', { ... // 接收message p ...
- vue中关于prop
组件之间的项目通信在vue中十分常见,父组件的数据传到子组件需要prop的支持,我们来看下prop 1.html的特性名大小写不敏感,浏览器会把所有大写字母解释为小写字母,使用dom模板时,使用等价的 ...
- vue中修改子组件样式
一.问题叙述 项目里需要新添加一个表单页面,里面就只是几个select,这个几个select是原本封装好的组件,有自己原本的样式,而这次的原型图却没有和之前的样式统一起来,需要微调一下,这里就涉及到父 ...
- vue中8种组件通信方式, 值得收藏!
vue是数据驱动视图更新的框架, 所以对于vue来说组件间的数据通信非常重要,那么组件之间如何进行数据通信的呢? 首先我们需要知道在vue中组件之间存在什么样的关系, 才更容易理解他们的通信方式, 就 ...
- vue中使用keepAlive组件缓存遇到的坑
项目开发中在用户由分类页category进入detail需保存用户状态,查阅了Vue官网后,发现vue2.0提供了一个keep-alive组件. 上一篇讲了keep-alive的基本用法,现在说说遇到 ...
- Vue中,父组件向子组件传值
1:在src/components/child/文件夹下,创建一个名为:child.vue的子组件 2:在父组件中,设置好需要传递的数据 3:在App.vue中引入并注册子组件 4:通过v-bind属 ...
- vue中对axios进行封装
在刚结束的项目中对axios进行了实践(好不容易碰上一个不是jsonp的项目), 以下为在项目中对axios的封装,仅封装了post方法,因为项目中只用到了post,如有需要请自行进行修改 src/c ...
- vue中兄弟之间组件通信
我们知道Vue中组件之间的通信有很多方式,父子之间通信比较简单,当我们使用vuex时候,兄弟组件之间的通信也很好得到解决 当我们项目较小时候,不使用vuex时候Vue中兄弟组件之间的通信是怎样进行的呢 ...
随机推荐
- baselines算法库logger.py模块分析
baselines根目录下logger.py模块代码: import os import sys import shutil import os.path as osp import json imp ...
- 基于 token 的登陆系统的实现
这是一段防爬代码块,我不介意文章被爬取,但请注明出处 console.log("作者主页:https://www.cnblogs.com/Go-Solo"); console.lo ...
- [VS Code扩展]写一个代码片段管理插件(二):功能实现
@ 目录 创建和插入代码片段 代码片段列表 代码片段预览 代码片段编辑 自定义映射 默认映射 自动完成 项目地址 创建和插入代码片段 VS Code扩展提供了数据存储,其中globalState是使用 ...
- 全网最适合入门的面向对象编程教程:40 Python常用复合数据类型-枚举和enum模块的使用
全网最适合入门的面向对象编程教程:40 Python 常用复合数据类型-枚举和 enum 模块的使用 摘要: 在 Python 中,枚举(Enumeration, Enum)是一种复合数据类型,用于表 ...
- Linux 上的 AppImage、Snap、Flatpak 之间的区别和联系
AppImage.Snap 和 Flatpak 是三种用于在 Linux 系统上分发和安装软件的包管理格式.它们都有助于解决软件依赖问题,使得应用程序可以在不同的 Linux 发行版上更容易地安装和运 ...
- html canvas 图片压缩后 透明背景变成黑色
错误写法(这种写法固定死了类型,会不匹配): const data = canvas.toDataURL('image/jpeg', quality); 调整成: let fileType = xxx ...
- 使用kamailio进行分机注册及互拨
操作系统版本:Debian 12.5_x64 kamailio版本:5.8.2 kamailio作为专业的SIP服务器,可承担注册服务器的角色.今天记录下kamailio作为注册服务器,承接分机注册, ...
- Electron32-ViteOS桌面版os系统|vue3+electron+arco客户端OS管理模板
基于electron32+vue3 setup+pinia2桌面端os管理解决方案ElectronVue3OS. vue3-electron32-os全新原创Electron32+Vite5+Vue3 ...
- RabbitMQ脑裂处理
脑裂现象: Network partition detectedMnesia reports that this RabbitMQ cluster has experienced a network ...
- Go runtime 调度器精讲(九):系统调用引起的抢占
原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 第八讲介绍了当 goroutine 运行时间过长会被抢占的情况.这一讲继续看 goroutine 执行系统调用时间过长的抢占. 1. 系统调用时 ...