第七十二篇:Vue组件的props
2022/4/22 23:19:38
本文主要是介绍第七十二篇:Vue组件的props,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
好家伙,
1.组件的props
props是组件的自定义属性,在封装通用组件的时候,合理的使用props可以极大的提高组件的复用性
来假设一下,如果我们需要两个组件分别显示不同的值
目录结构如下:
HelloWorld.vue中,
<div> <h2>我的init值为{{ init }}</h2> </div> </template> <script> export default { //props指向一个数组, //允许使用者通过自定义属性,为当前的组件指定初始值 //定义属性的名字,是封装这自定义的(只要合法即可) props:['init'], } </script> <style> </style>
Left.vue中,
<template> <div> <h1>我是Left组件</h1> <HelloWorld init="5"/> </div> </template>
Right.vue中,
<template> <div> <h1>我是Right组件</h1> <HelloWorld init="10"/> </div> </template>
App.vue中
<template> <div id="app"> <Left/> <Right/> </div> </template> <script> import Left from './components/Left.vue' import Right from './components/Left.vue' export default { name: 'App', components: { Left, Right } } </script>
对了,main.js中还需要对HelloWorld组件进行全局注册
import HelloWorld from './components/HelloWorld.vue' Vue.component('HelloWorld',HelloWorld)
效果如下:
2.对props使用v-bind
若我们将前面的
<HelloWorld init="10">
改为
<HelloWorld :init="10"/>
那么这里的init中的10就是数字10
可进行计算处理的数字10
而原先的"10"是字符串
(下图可见两者区别)
3.props的值是只读的
vue规定:组件中封装的自定义属性是只读的,程序员不能直接修改props的值,否则会直接报错
4.实践
好了,现在我们来实现一个经典点击自增一按钮
(太TM经典了)
<template> <div> <h2>我的init值为{{ count }}</h2> <button @click="count += 1">加一</button> </div> </template> <script> export default { props:['init'], //count可读可写,所以使用count来进行自增操作 data(){ return{ count:this.init } }, } </script>
效果如下:
上面是字符字符类型的init
下面是数值类型的init
5.props的default默认值
改为对象形式的props
props:{ //自定义属性A:{/*配置选项*/} //自定义属性B:{/*配置选项*/} //自定义属性C:{/*配置选项*/} init:{ //若果外界使用Count组件的时候,没有传递init属性,则默认值生效 default:10 } },
当未对init的值进行设定时,默认为10
6.props的type值类型
在声明自定义属性时,可以通过type来定义属性的值类型.示例代码如下:
props:{ init:{ //若果外界使用Count组件的时候,没有传递init属性,则默认值生效 default: 10, //init值的类型必须是Number数字 type:Number, } },
7.props的required必填项
required校验你是否传值
若未传值,则报错,(即使有默认值的存在)
props:{ init:{ //若果外界使用Count组件的时候,没有传递init属性,则默认值生效 default: 10, //init值的类型必须是Number数字 type:Number, //必须项校验 required:true } },
That's all
这篇关于第七十二篇:Vue组件的props的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Vue3资料:新手入门必读教程
- 2024-11-16Vue3资料:新手入门全面指南
- 2024-11-16Vue资料:新手入门完全指南
- 2024-11-16Vue项目实战:新手入门指南
- 2024-11-16React Hooks之useEffect案例详解
- 2024-11-16useRef案例详解:React中的useRef使用教程
- 2024-11-16React Hooks之useState案例详解
- 2024-11-16Vue入门指南:从零开始搭建第一个Vue项目
- 2024-11-16Vue3学习:新手入门教程与实践指南
- 2024-11-16Vue3学习:从入门到初级实战教程