首页 文章

使用Observable更新Angular2变量

提问于
浏览
0

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

  }
}

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

2 回答

  • 0

    这应该工作:

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

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

相关问题