vue_组件间通讯:自定义事件、消息发布与订阅、槽

自定义事件vue

只能用于 子组件 向 父组件 发送数据函数

能够取代函数类型的 propsthis

在父组件: 给子组件@add-todo-event="addTodo"编码

在子组件: 相关方法中,this.$emit("add-todo-event", newTodo);spa

pubsub 消息发布/订阅blog

实现任意关系的组件间通讯事件

yarn add pubsub-jsit

实例:event

  • 子组件发布消息: 要求删除 todo

methods: {方法

PubSub.publish("deleteTodo", this.index);

}

  • 父组件订阅消息: 执行回调,删除 todo

mounted: {

PubSub.subscribe("deleteTodo",(messageName, todosIndex)=>{

this.deleteTodo(todosIndex);

});

}

插槽内容 slot

父组件 向 子组件传递"标签数据"

应对: 不只数据是动态的,结构也是动态的

App.vue 父组件 使用子组件时,声明用哪些槽:

 

<Child>

</Child>

 

子组件Child 定义槽:

<template>


</template>

插槽显示的顺序,由子组件编码决定

细节: 在写公共组件 Child 时,先不写槽,直接写正常的代码,将样式搞定,再抽出槽

相关文章
相关标签/搜索