Vue 父子组件传值

时间:2020-05-30
本文章向大家介绍Vue 父子组件传值,主要包括Vue 父子组件传值使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.prop 单向下行绑定,父组件 -> 子组件

可传入静态的值

<blog-post post-title="hello!"></blog-post>

可通过v-bind动态赋值

<blog-post v-bind:title="post.title"></blog-post>

验证类型,设置默认值

Vue.component('my-component', {
  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
      }
    }
  }
})

  

2.emit 子组件 -> 父组件

1..父组件通过监听事件更新本地数据

<text-document  v-bind:title="doc.title"  v-on:update:title="doc.title = $event">
</text-document>

可以简写为:

<text-document v-bind:title.sync="doc.title"></text-document>

2.子组件通过触发事件为父组件赋新值

this.$emit('update:title', newTitle)

以上来自于官网学习: https://cn.vuejs.org/v2/guide/components-props.html

原文地址:https://www.cnblogs.com/VVII/p/12993082.html