Vue中的props详解

最基础和最常用的用法:

子组件中:

 App.vue主组件中:

  const player1 = reactive({
    name: "梅西",
    img: "/images/flowers.png",
    rate: 1,
    hot: 433760
  })
  const player2 = reactive({
    name: "梅西",
    img: "/images/flowers.png",
    rate: 1,
    hot: 433760
  })
  const team1 = reactive({
    name: "法国队",
    img: "/images/flowers.png",
    rate: 1,
    hot: 451511
  })

 用法简单易懂!

高级用法:

 

 

对于第一个和第二个 即count和obj 我们直接设置Number 和 Object 用处不大,只是做一个简单的校验,不会报错,但是会警告;而对于第三个maxLength 我们是通过一个对象来校验数据的合法性!!这样的话就会有严格性的数据校验了!!对于是通过函数判断是否合法的 就看返回值的bool类型了 

其实这些高级的用法都只是进行数据合法性检验而已

然后 一般在开发过程中才会常用这个数据合法性检验  上线后一般会常用的可能就是其中的default 设置默认值的功能了

 

 除了boolean类型的所有的未传递的可选的prop的值都会被写成undifined

如下:如果写了一个boolean类型的变量  那么默认值为false 如果要改的话  可以写default为undifined

 

### Vue.js 中 `props` 的详细用法 #### 一、什么是 `props` 在 Vue.js 中,`props` 是一种用于父组件向子组件传递数据的方式。这种机制使得父子组件之间的通信更加直观和可控[^2]。 #### 二、基本语法 当定义一个接收外部参数的自定义标签时,在该组件内部可以通过声明 `props` 属性来指定可以接受哪些来自外界的数据项: ```javascript // 子组件 export default { name: "ChildComponent", props: ['title'], template: `<div>{{ title }}</div>` } ``` 上述代码片段展示了如何简单地注册名为 `title` 的单一属性[^4]。 #### 三、验证传入值的有效性 为了确保接收到合适类型的输入,可以在 `props` 配置对象内加入更多细节描述,比如预期类型以及默认值等: ```javascript props: { status: String, count: Number, isActive: Boolean, user: Object, callback: Function, items: Array, }, data() { return {}; }; ``` 这里列举了几种常见的 JavaScript 基本类型及其对应的校验方式。 #### 四、单向绑定特性 值得注意的是,`props` 只允许由上至下的单项流动模式;即只有父级能够更新并影响下层实例的状态变化,反之则不行。如果试图修改已有的 prop,则会在控制台触发警告信息提示违反此原则的行为。 #### 五、动态 & 复杂表达式的处理 除了静态赋值外,还可以利用 v-bind 指令配合计算属性或方法调用来构建更灵活多变的内容展示逻辑: ```html <template> <!-- 动态绑定 --> <child-component :message="greeting"></child-component> <!-- 计算属性 --> <child-component :class-names="computedClassNames"></child-component> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, computed: { greeting(){ return this.timeOfDay === 'morning' ? 'Good morning!' : 'Hello!'; } } }; </script> ``` 这段示例说明了怎样借助 vue 的模板编译器将复杂的业务规则映射成实际渲染所需的最终形态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值