定義一個服務绊序,利用這個服務實現(xiàn)組件間的雙向通信硕舆;
用法:在一個組件中發(fā)布消息,通過服務可廣播一條消息骤公,如果別的組件訂閱了該消息抚官,則可以接收到。
服務的定義:
在一個組件中廣播消息:
import {MessageService}from "../../shared/service/message.service";? //引入該服務
constructor(private messageService: MessageService) {
}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//在構造器中注入服務
this.messageService.sendMessage("this message");? ? ? ? ? ? ? ? ? ?//發(fā)布消息
在其它某一個組件中訂閱該消息:
import {MessageService}from "../../shared/service/message.service";? //引入該服務
constructor(private messageService: MessageService){
this.subscription =this.messageService.getMessage()
.subscribe(message => {
console.log(message?)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //接收該消息
});
}