美文网首页Vue3.X基础入门
第十讲、Vue3.x父组件给子组件传值、Props、Props验

第十讲、Vue3.x父组件给子组件传值、Props、Props验

作者: 我爱张智容 | 来源:发表于2021-01-09 10:04 被阅读0次

一、父子组件介绍

image-20201029174738754.png

二、父组件给子组件传值

1、父组件调用子组件的时候传值

<template>
    <v-header :title="title"></v-header>
</template>

<script>
import Header from './Header'
export default {
    data() {
        return {
            title: "首页组件title"
        }
    },  
    components: {
        "v-header": Header
    }
}
</script>

2、子组件接收父组件传值

<template>
    <header>{{title}}</header>
</template>

<script>
export default {
    props: ["title"]
}
</script>

三、Props验证

我们可以为组件的 prop 指定验证要求,例如你知道的这些类型。如果有一个需求没有被满足,则 Vue 会在浏览器控制台中警告你。这在开发一个会被别人用到的组件时尤其有帮助。

props验证:

 props: {
    // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)
    propA: Number,
    // 多个可能的类型
    propB: [String, Number],
    // 必填的字符串
    propC: {
      type: String,
      required: true
    },
    // 带有默认值的数字
    propD: {
      type: Number,
      default: 100
    },
    // 带有默认值的对象
    propE: {
      type: Object,
      // 对象或数组默认值必须从一个工厂函数获取
      default: function() {
        return { message: 'hello' }
      }
    },
    // 自定义验证函数
    propF: {
      validator: function(value) {
        // 这个值必须匹配下列字符串中的一个
        return ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    },
    // 具有默认值的函数
    propG: {
      type: Function,
      // 与对象或数组默认值不同,这不是一个工厂函数 —— 这是一个用作默认值的函数
      default: function() {
        return 'Default function'
      }
    }

四、单向数据流

所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。这样会防止从子组件意外变更父级组件的状态,从而导致你的应用的数据流向难以理解。

另外,每次父级组件发生变更时,子组件中所有的 prop 都将会刷新为最新的值。这意味着你应该在一个子组件内部改变 prop。如果你这样做了,Vue 会在浏览器的控制台中发出警告。

相关文章

  • 2018-09-05

    组件传值问题 父组件给子组件传值应该使用props。子组件要给父组件传值,需要调用父组件传递的方法。props传值...

  • Vue组件(二)组件传值

    一、父组件向子组件传值 我们可以用props向子组件传值; 1. 基础用法 组件代码 父组件使用 2.props验...

  • Vue父子组件通信

    全面学习Vue 组件通信父组件给子组件传值 props 父组件 子组件 props: { mn...

  • 复习Vue 组件间通信.md

    1. props/$emit 父组件向子组件传值:父组件通过props向下传递数据给子组件 子组件向父组件传值(通...

  • vue-props(1)

    props 父组件给子组件传值 父组件:在组件元素中配置要传递的属性和值 子组件,配置props数据,接收父组件传...

  • vue2.0 父子组件传值

    父组件传值给子组件 子组件 子组件通过 props 接收值 父组件 父组件通过标签属性传值 子组件传值给父组件 子...

  • 仿element组件封装【复习组件间值传递】

    一、prop知识点复习[父组件传值给子组件] props 是父组件传递值给子组件,子组件接收 Props Down...

  • Vue3——组件传值 & v-model & 异步组件 & te

    一、父子组件传值 父组件通过props向子组件传值,子组件通过emit触发自定义事件传递新值给父组件。props:...

  • vue组件通信

    通常父子组件通信都是用props和$emit进行传递,父组件通过props传值给子组件,子组件通过$emit传值给...

  • 父子组件传值props

    父组件传值给子组件,子组件用props来接 1.简单语法 props:["size","iconClass"] /...

网友评论

    本文标题:第十讲、Vue3.x父组件给子组件传值、Props、Props验

    本文链接:https://www.haomeiwen.com/subject/uugvoktx.html