使用Observable更新Angular2变量

时间:2016-12-29 17:02:04

标签: angular angular2-observables

警告: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);
    });

  }
}

我的警报会弹出,但视图没有改变,换句话说,我没有得到&#34; Hello 42&#34; ,我仍然只看到&#34;你好&#34;

2 个答案:

答案 0 :(得分:1)

这应该有效:

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

  }

答案 1 :(得分:0)

这是一个plunker,它正在运作。 应该this.name指向对象的名称,而订阅时不需要function