目录
方式一
父组件
- <template>
- <First :poem="poem" type="诗词歌赋" />
- </template>
子组件
- export default{
- props:["poem","type"]
- }
方式二
在子组件中直接获取父组件中的数据
- mounted(){
- this.len = this.$parent.poems.length;
- }
方式一
子组件
- methods:{
- addAuthor(){
- let obj={
- id:this.poem.id,
- author:this.author
- }
- // this.$emit(自定义事件类型,参数)
- this.$emit('aa',obj);
- }
- }
父组件
- <template>
- <First @aa="addWriter" />
- </template>
方式二
在父组件中使用$refs获取子组件中的值
- <template>
- <First ref="first" />
- <AA ref="aa"/>
- </template>
- mounted(){
- // $refs当前this的子组件
- console.log(this.$refs);
- let sum = 0;
- this.$refs.first.forEach(v=>{
- sum+=v.count;
- })
- sum+=this.$refs.aa.count;
- this.count=sum;
- },
(1)在main.js中创建公共vue原型
Vue.prototype.$EventBus = new Vue()
兄弟一元素
- methods:{
- addAuthor(){
- // 发射事件 EventBus
- this.$EventBus.$emit("eb",this.poem.id);
- }
- }
兄弟二元素
- mounted(){
- // 实现 EventBus 的事件
- this.$EventBus.$on("eb",id=>{
- console.log("id === "+id);
- })
- }
- mounted(){
- console.log(this.root);
- }