props配置
配置项props
功能:让组件接收外部传过来的数据【相当于微信转账:有一个转账人转钱给接收者,接收者需要确认接收】
(1)传递数据:
<Demo name="xxx">
(2)接收数据:
第一种方式(只接收)
props:['name']
第二种方式(限制类型)
props:{
name:{
type:String, //类型
required:true, //必要性
defalt:'老王' //默认值}}
备注:props是只读,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告。若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。【此时需要修改的属性在data中的名字不能与props中的名字一样。否则它会优先执行props中的。】
App.vue
<!--App组件结构-->
<template>
<div>
<!--动态绑定age,传到Student的就是数字而不是字符串-->
<!--这边用了两次组件。分别是李四和张三的信息。其中一个人数据变化并不影响另一个人的-->
<Student name="李四" sex="女" :age="18"></Student>
<Student name="张三" sex="男" :age="19"></Student>
</div>
</template> <script>
import Student from './components/Student.vue' export default{
name:'App',
components:{
Student
}
}
</script>
Student.vue
<template>
<div>
<h1>{{msg}}</h1>
<h2>学生姓名:{{name}}</h2>
<h2>学生性别:{{sex}}</h2>
<h2>学生年龄:{{age}}</h2>
<button @click="updateAge">尝试修改年龄</button>
</div>
</template> <!-- name:'Student'命名组件名为Student。<script>中包含可以交互的。比如data、methods、watch、computed-->
<script>
<!--暴露结构以便导入-->
export default{
name:'Student',
data(){
return{
msg:'我是一个学生',
myAge:this.age
}
},
<!--如果要修改数据,只能在data中修改myAge。若有业务需求年龄自动加1,则this.myAge++-->
methods:{
this.myAge
}
<!--简单接受-->
props:['name','age','sex'] /*接受的同时对数据进行类型限制
props:{
name:String,
age:Number,
sex:String}*/ /*接受的同时对数据:进行类型限制+默认值的指定+必要性的限制
props:{
name:{
type:String,
required:true //name是必须要的
},
age:{
type:Number,
default:99 //没有传age,默认99
},
sex:{
type:String,
required:true //sex是必须要的
}}*/
},
</script>
props配置的更多相关文章
- Vue学习之--------脚手架的分析、Ref属性、Props配置(2022/7/28)
欢迎大家加入我的社区:http://t.csdn.cn/Q52km 社区中不定时发红包 文章目录 1.脚手架的分析 2.ref属性 2.1 基础知识 2.2 代码实现 2.3 测试效果 3.Props ...
- 菜鸟学SSH(十七)——基于注解的SSH将配置精简到极致
很早之前就想写一篇关于SSH整合的博客了,但是一直觉得使用SSH的时候那么多的配置文件,严重破坏了我们代码整体性,比如你要看两个实体的关系还得对照*.hbm.xml文件,要屡清一个Action可能需要 ...
- 二 SSH整合:Spring整合Hibernate,无障碍整合&无核心配置整合,Hibernate模版常用方法,
重建SSH项目 java项目可以直接复制,但是web项目除了改名字还要该配置,如下: 方式一:无障碍整合:带Hibernate配置文件 <?xml version="1.0" ...
- springmvc两种配置方法
基于配置文件xml方式, 配置springmvc步骤: 1.在pom文件中引入jar包: <!--导入springmvc的jar包--> <dependency> <gr ...
- 基于react hooks,zarm组件库配置开发h5表单页面
最近使用React Hooks结合zarm组件库,基于js对象配置方式开发了大量的h5表单页面.大家都知道h5表单功能无非就是表单数据的收集,验证,提交,回显编辑,通常排列方式也是自上向下一行一列的方 ...
- 基于react hooks,antd4 配置生成表单并自动排列
react后台项目,大多都是表单处理,比如下列4种常见1*n布局 (如果手工编码,大量的Row,Col, Form.Item的嵌套,排列,如果加上联动处理,代码将十分臃肿,不易维护) 一行一列 一行两 ...
- 管理系统-------------SSH框架书写登录和显示用户
一.思路的穿插. web.xml中的配置找到--->application.xml---->找到对应的Action---->找到struts.xml----->在去找actio ...
- akka笔记
Actor UntypedActor actor的基类,继承并实现onReceive方法就可以得到一个Actor. Props 配置类,用Props.create可以创建一个按指定配置生成的Actor ...
- Velocity魔法堂系列一:入门示例
一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...
随机推荐
- Linux如何查看端口占用情况
Linux如何查看端口 1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 # lsof -i:8000 COMMAND PID USER ...
- Java对数组的复制[转]
原文地址http://x10232.iteye.com/blog/2230762 定义一个数组 int[] a={3,1,4,2,5}: int[] b=a: int[] a={3,1,4,2,5}: ...
- ios xib约束适配要点
基本上以下几点就能解决除横屏以外的适配问题 1.页边距约束 (Leading and Trailing space) 页边间距约束分前部间距约束(Leading space constaint)和尾部 ...
- 帆软报表(finereport)JS实现长页面锚点定位
在报表的应用需求中,页面过长时,需要页面中实现类似HTML中锚点功能以跳转到相应需要预览模块 1实现思路 在设计器中所做的操作最终都会以HTML形式展现在网页.在这里我们为报表块单元格加上id选择器配 ...
- Asp-Net-Core开发笔记:使用NPM和gulp管理前端静态文件
前言 本文介绍的是AspNetCore的MVC项目,WebApi+独立前端这种前后端分离的项目就不需要多此一举了~默认前端小伙伴是懂得使用前端工具链的. 为啥要用MVC这种服务端渲染技术呢? 简单项目 ...
- Solution -「NOI 2012」「洛谷 P2050」美食节
\(\mathcal{Description}\) Link. 美食节提供 \(n\) 种菜品,第 \(i\) 种的需求量是 \(p_i\),菜品由 \(m\) 个厨师负责制作,第 \(j\) ...
- mysql对属性的增删改
修改表 alter table 创建表db 查看表 desc与describe desc table 查看建表语句show create table t1; 修改表名 alter table t1 r ...
- CentOS7 下 ldap 部署
环境准备 # 关闭防火墙以及selinux,生产环境中,以实际需求为准 [root@localhost ~]# hostnamectl --static set-hostname ldap-serve ...
- vue3-hash-calendar,一款基于vue3.x开发的移动端日期时间选择组件
在大家的催更下,鸽了一天又一天,vue3-hash-calendar 终于在今天诞生了. 按照惯例,先上效果图 Demo 扫描上方二维码或者请用浏览器的手机模式查看:https://www.hxkj. ...
- k8s中运行busybox
简介 参考百度百科 BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件. BusyBox 包含了一些简单的工具,例如ls.cat和echo等等,还包含了一些更大.更复杂的工具,例gr ...