Vue中props用法是什么,具体如何应用
Admin 2022-07-09 群英技术资讯 802 次浏览
关于“Vue中props用法是什么,具体如何应用”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。前言:
在Vue中通过props,可以将原本孤立的组件串联起来,也就是可以子组件可以接收父组件传递过来的data,比如子组件想要引用父组件的数据,那么在props里面声明一个变量,这个变量就可以引用父元素的数据。
实例演示:
子组件:
<template>
<div>
<h3>我是{{name}},今年{{age}}岁,爱好:{{hobby}}</h3>,{{flag}}
</div>
</template>
<script>
export default {
name:'Cpn',
// 简单接收
/* props:['age','hobby','name'], */
// 声明要接收的数据,声明时对接收的数据进行限制
props:{
name: {
// 声明类型
type:String,
//声明是否必需
require:true,
// 声明默认值
default:'默认值'
},
age:{
type:Number,
require:true,
default:18
},
hobby:{
type:String,
require:false
},
flag:{
type:Boolean,
require:false
}
}
}
</script>
父组件:
<template>
<div id="app">
<!-- <cpn name='李明' age="22" hobby="打球"></cpn>
<cpn name="小红" age="20" hobby="弹琴"></cpn> -->
<cpn name='李明'></cpn>
<cpn hobby="编程" :flag="flag"></cpn>
<!--备注:如果要将当前组件data里的数据传递给子组件,需要通过v-bing:变量名=”变量名“的形式传递,如果传递的不是data里面的数据,就不用加绑定指令,即v-bind(可简写为:)-->
<button @click="changeFlag">切换</button>
</div>
</template>
<script>
import Cpn from './components/Cpn.vue'
export default {
components: { Cpn },
name: "App",
data() {
return {
flag:false
}
},
methods: {
changeFlag(){
console.log(this.flag)
this.flag=!this.flag;
console.log(this.flag)
}
},
}
</script>
运行上面的程序可以看到,当我们通过点击父组件的按钮切换某个值时,子组件接收的值也会相应变化。

子组件接收父组件的数据有两种接收方式:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了快速解决vue2+vue-cli3项目ie兼容的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
JavaScript ES6 Class类实现原理详解,JavaScript ES6之前的还没有Class类的概念,生成实例对象的传统方法是通过构造函数。
最近项目中使用了minio作为静态资源管理服务,所以简单写一下如何通过minio来上传图片,下面这篇文章主要给大家介绍了关于Vue中通过minio上传文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
这篇文章给大家分享的是ssr服务端渲染的相关内容。下文介绍了为什么使用服务器端渲染以及vue的ssr服务端渲染使用,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
今天我们来学习一下watch侦听器的好兄弟 watchEffect 侦听器。这个相对来说比较简单,用的不是很多,当然了,根据自己的项目情况自行决定使用,希望对大家有所帮助
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008