使用 Observable 更新 Angular2 变量

Updating Angular2 variable using Observable

提醒:Angular2 新手 我有以下代码:

@Component({
  selector: 'my-app',
  template: `<h1>Hello {{name}}</h1>
            <button (click)="ClickMe()">Button</button>`
})

export class AppComponent
{
  name:string;
  ClickMe(event : event) :void {
    var source = new Observable((observer: any) => {
      observer.next(42);
    });
    source.subscribe(function (x : any) {
    name = x;
    alert(x);
    });

  }
}

我的警报确实弹出,但视图没有改变,换句话说,我没有得到 "Hello 42",我仍然只看到 "Hello"

这是一个 plunker ,它正在工作。 应该通过 this.name 指向对象的名称并且不需要 function 订阅 .

这应该有效:

  ClickMe(event : Event) :void {
    var source = new Observable((observer: any) => {
      observer.next(42);
    });
    source.subscribe(x => {
    this.name = x;
    alert(x);
    });

  }