Как передать объект из одного компонента в другой компонент - PullRequest
0 голосов
/ 17 сентября 2018

Я новичок в angular 6. Я пытаюсь отправить детали объекта из одного компонента в другой компонент.

Я попытался успешно передать строковое значение.Но когда я пытаюсь отправить объект, я сталкиваюсь с проблемой.Может кто-нибудь направить меня, где я делаю это неправильно.

Ниже приведен код, который я пробовал.Создан файл data-share.service.ts .

    import { Injectable } from '@angular/core';
import { BehaviorSubject} from 'rxjs/BehaviorSubject'

@Injectable({
  providedIn: 'root'
})
export class DataShareService {

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


  private mastProjClickedValDetail = new BehaviorSubject<any>([]);
  mastProjVal = this.mastProjClickedValDetail.asObservable();


  constructor() { }

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

  getMastProjDetail(MastProjObj: any){
    this.mastProjVal.next(MastProjObj)
  }
}

Файл Project-Management.component.ts.

import { Component, OnInit,Output,EventEmitter } from '@angular/core';
import $ from 'jQuery';
import { OVERLAY_PROVIDERS } from '@angular/cdk/overlay';
import { ProjectManagementService } from '../services/project-management.service';
import { DataShareService } from '../services/data-share.service'

@Component({
  selector: 'app-project-management',
  templateUrl: './project-management.component.html',
  styleUrls: ['./project-management.component.css']
})
export class ProjectManagementComponent implements OnInit {

  records = {}

  public MastProjObj : any[];

  iconActive:Boolean;
  i:any;
  pageno:number;
  filter='';
  showSpinner: boolean = false;



  public data: any[];
  public total: number;
  public tenantIdVal: any[];


  ngOnInit() {  

    const userValue = JSON.parse(localStorage.getItem('loginDetails'));

    this.getProjectManagementListData(userValue,this.tenantIdVal);

 }

// ====================== To send Master project Details to other components. ======================

      mastProjGetDetailBtn(mastProjDetail){
        console.log("MastProjDetail---------------",mastProjDetail);
        this.MastProjObj = mastProjDetail;
        this.dataShare.getMastProjDetail(this.MastProjObj)
      }

// ====================== To send Master project Details to other components. ======================


 getProjectManagementListData(userValue,tenantIdVal): void {

  this.showSpinner = true;
  let data: Array<any>;

  this.records = this.ProjManagList.getProjectManagementListData(userValue,tenantIdVal).subscribe((data: any) => {

    console.log("data--",data);
  this.data = data.selectResults;
  this.total  = this.data.length;
  this.total=Math.ceil(this.total/10);
  },
  error => { 

    this.showSpinner = false;

  },
  () => {
    this.showSpinner = false; 
  })

}



      ngOnDestroy(){ // To remove active icon in sidebar.
        this.iconActive=false;
      }  

    }

Получение property 'следующий 'не существует для типа' наблюдаемый ' проблема в data-share.service.ts file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...