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>
事件update:title作为实时传递title的触发事件
可以简写为:
<text-document v-bind:title.sync="doc.title"></text-document>
2.子组件通过触发事件为父组件赋新值
this.$emit('update:title', newTitle)
双向绑定这个文章讲的很细,
https://www.jianshu.com/p/4147d3ed2e60
以上来自于官网学习: https://cn.vuejs.org/v2/guide/components-props.html
班门弄斧 见谅 学习ing 仅作记录
非父子组件通信
https://www.jianshu.com/p/d3036001f6d3
❀❀ (ง •_•)ง little little 🦆🦆 ❀❀❀❀ ♕♕♕♕♕

浙公网安备 33010602011771号