Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法将数据从共享服务获取到angular 2中的组件_Javascript_Angular_Typescript_Sharedservices - Fatal编程技术网

Javascript 无法将数据从共享服务获取到angular 2中的组件

Javascript 无法将数据从共享服务获取到angular 2中的组件,javascript,angular,typescript,sharedservices,Javascript,Angular,Typescript,Sharedservices,在我们的Angular 2项目中。我试图使用它来实现两个组件之间的通信 我们有一个BotData.SharedService.ts文件,如下所示: import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Subject } from 'rxjs/Subject'; import { Observab

在我们的Angular 2项目中。我试图使用它来实现两个组件之间的通信

我们有一个
BotData.SharedService.ts
文件,如下所示:

    import { Injectable } from '@angular/core';
    import { BehaviorSubject } from 'rxjs/BehaviorSubject';
    import { Subject }    from 'rxjs/Subject';
    import { Observable } from 'rxjs/Observable';
    export interface Data {

        name: string,

    }

    @Injectable()
    export class BotDataService {
        sharingData: Observable<Data[]>

      private _sharingData: BehaviorSubject<Data[]>;

      private dataStore: {
        sharingData: Data[]
      };


      constructor() {
        this.dataStore = { sharingData: [] };
        this._sharingData = <BehaviorSubject<Data[]>>new BehaviorSubject([]);
      }

      saveData(userData) {
          console.log(userData)
         this._sharingData.next(userData); 
      }

      getData()  {
        console.log('get data function called' +  JSON.stringify( this.sharingData ) );
        return this._sharingData.asObservable();
      }
    }

这里的修复方法是什么?

下一个函数方法的定义在哪里?subject下一个方法用于向可观察对象发送消息,然后发送给该可观察对象的所有订户。预定义函数您可以共享“下一个”函数的定义吗?我已经提到,您在订阅中调用get函数,而在save方法中调用next函数。我认为这是行不通的。根据博客,下一个observable方法适用于observer的所有订阅,但在您的示例中并非如此
   constructor(private botdataservice: BotDataService) {
        this.botdataservice = botdataservice;
        this.botdataservice.getData().subscribe(_sharingData => {
            //   this.userKonte = _sharingData;
              console.log(JSON.stringify(_sharingData));
          });
    }