1.父子组件之间的传值
子组件传值到父组件
子组件在向父组件传值的时候,主要是通过子组件通过$emit()函数派发出事件,然后再父组件中通过事件监听:
//比如定义了一个子组件<i-button>
<template>
<button @click="handleClick">
<slot></slot>
</button>
</template>
<script>
export default {
methods: {
handleClick () {
this.$emit('on-click', {a:123});
}
}
}
</script>
//这里的on-click是事件的名字,a是要传递的参数
//然后在父组件中监听
<i-button @on-click="sayhi">sayhi</i-button>
<script>
export default {
methods:{
sayhi(b){
console.log(b); // Vue.js
}
}
}
</script>
//注意这里的b只是用来接收子组件传递过来的对象,输入的是{a:123},并不会输出123,如果输出123可以写成b.a
复制代码
父组件向子组件传值
父组件向子组件传值,主要是通过子组件的prop属性来接