Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Angular 使用发布和连接创建热可观测时出现角度2错误_Angular_Rxjs - Fatal编程技术网

Angular 使用发布和连接创建热可观测时出现角度2错误

Angular 使用发布和连接创建热可观测时出现角度2错误,angular,rxjs,Angular,Rxjs,我试图在angular 2中创建热可观测(RXJSAPI) 类似于中的工作示例 因此,当我使用“Publish”时,调试器总是告诉我Publish函数未定义 那么我的问题是如何在Angular 2中使用Publish?我是否错过了添加任何库? 这是我的密码: //our root app component import {Component} from 'angular2/core'; import {Observable} from 'rxjs/Observable'; @Componen

我试图在angular 2中创建热可观测(RXJSAPI) 类似于中的工作示例

因此,当我使用“Publish”时,调试器总是告诉我Publish函数未定义 那么我的问题是如何在Angular 2中使用Publish?我是否错过了添加任何库? 这是我的密码:

//our root app component
import {Component} from 'angular2/core';
import {Observable} from 'rxjs/Observable';

@Component({
  selector: 'my-app',
  providers: [],
  template: `
    <div>
      <h2>Hello {{name}}</h2> 
      <table><tr *ngFor="#itm of values"><td>{{itm}}</td></tr></table>
    </div>
  `,
  directives: []
})
export class App {
  tasks:Observable<Array<number>>;
  constructor() {
    this.values=[];

    let tasks=new Observable(observer =>
    {
      observer.next(1);
      observer.next(2);
      observer.next(3);

    } ).publish();
    tasks.connect()

    let subscription= this.tasks.subscribe(
      value => this.values.push(value+5),error => this.error='error !',
      () => this.finished = 'completed !'
      ); 
    ) 
    this.name = 'Angular2';




  }

}
//我们的根应用程序组件
从'angular2/core'导入{Component};
从“rxjs/Observable”导入{Observable};
@组成部分({
选择器:“我的应用程序”,
提供者:[],
模板:`
你好{{name}
{{itm}}
`,
指令:[]
})
导出类应用程序{

任务:可观察的

您需要使用类似以下内容将其包括在内:

import {Observable} from 'rxjs/Rx';

我还看到您的代码中有一些拼写错误:

let subscription= tasks.subscribe( // <-------
  value => this.values.push(value+5),error => this.error='error !',
  () => this.finished = 'completed !'
  ); 
)
let subscription=tasks.subscripte(//this.values.push(value+5),error=>this.error='error!',
()=>this.finished='completed!'
); 
)
您需要在订阅后调用
connect
方法


请参阅此链接:。

您需要导入Rx
导入“rxjs/Rx”;
let subscription= tasks.subscribe( // <-------
  value => this.values.push(value+5),error => this.error='error !',
  () => this.finished = 'completed !'
  ); 
)