angular组件传参

2020-06-17  本文已影响0人  luckyvip

【子传父】

【父传子】

【非父子组件】
1、创建shared-service.ts 文件

import { Injectable } from '@angular/core';
import { Subject } from 'rxjs/Subject';
@Injectable()
export class SharedService {
    // Observable string sources
    private emitChangeSource = new Subject<any>();
    // Observable string streams
    changeEmitted$ = this.emitChangeSource.asObservable();
    // Service message commands
    emitChange(change: any) {
        this.emitChangeSource.next(change);
    }
}

2、创建a.ts 文件

import { Component} from '@angular/core';
@Component({
   
})
export class AComponent {
    constructor(
        private _sharedService: SharedService
    ) { }

onClick(){
  this._sharedService.emitChange('Data from A');

 }
}

3、创建b.ts 文件

import { Component} from '@angular/core';
@Component({
   
})
export class BComponent {
    constructor(
        private _sharedService: SharedService
    ) {
          _sharedService.changeEmitted$.subscribe(
        text => {
            console.log(text);
        });
      }
}
上一篇 下一篇

猜你喜欢

热点阅读