Asp.net mvc 如何在两个同级组件之间传递数据?

Asp.net mvc 如何在两个同级组件之间传递数据?,asp.net-mvc,angular,asp.net-web-api,angular-ui-router,angular-directive,Asp.net Mvc,Angular,Asp.net Web Api,Angular Ui Router,Angular Directive,因此,在中,我有一个选择,将值发送到和 OnSelect方法可以很好地激发组件内部的变化 所以,我尝试使用@Input、@Output和@EventEmitter指令,但我不知道如何将事件检索为组件的@Input,除非使用父/子模式。我发现的所有例子都有组件之间的关系 编辑:例如,如果BehaviorSubject不能正常工作,那么所有连接到API的服务都能正常工作,只有observable在启动时被触发,而不是在select值发生更改时被触发 <container> <n

因此,在中,我有一个选择,将值发送到和

OnSelect方法可以很好地激发组件内部的变化

所以,我尝试使用@Input、@Output和@EventEmitter指令,但我不知道如何将事件检索为组件的@Input,除非使用父/子模式。我发现的所有例子都有组件之间的关系


编辑:例如,如果BehaviorSubject不能正常工作,那么所有连接到API的服务都能正常工作,只有observable在启动时被触发,而不是在select值发生更改时被触发

<container>
  <navbar>
    <summary></summary>
    <child-summary><child-summary>
  </navbar>
  <content></content>
</container>

我使用BehaviorSubject创建了一个示例,用于在组件之间发送消息

你可以访问

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class DataService {

  private messageSource = new BehaviorSubject("default message");
  currentMessage = this.messageSource.asObservable();

  constructor() { }

  changeMessage(message: string) {
    this.messageSource.next(message)
  }

}
@Injectable()
export class MyService {

private messageSource = new BehaviorSubject<string>('service');
currentMessage = this.messageSource.asObservable();


  constructor() {
  }

  changeMessage(message: string) {
    this.messageSource.next(message)
  }
}