Angular 2 视图在 HTTP 调用后未更新

Angular 2 view not updated after HTTP call

我正在试验 Angular 2,我正在尝试使用内置 HTTP 服务发出 http 请求:

@Injectable()
export class MyService {
    constructor(private http: Http) {
    }

    public get(): Observable<string[]> {
        return this.http.get('http://localhost:8080/endpoint')
               .map((data) => <string[]>data.json()['content']);
    }
}

用法如下:

export class MyComponent implements OnInit {
    public content: string[];

    constructor(private myService: MyService) {
    }

    public ngOnInit(): void {
        this.myService.get().subscribe((data) => {
            this.content = data;
        });
    }
}

如果我使用 zone 到 运行 数据分配,那么它会按预期工作,但我觉得它有点 hacky,我不太明白为什么它不起作用。

我读到代码可能 运行 在 angular 区域之外,但我不明白为什么,因为我只使用内置功能。

视图绑定:

<div *ngFor="let str of content">
    {{ str }}
</div>

你能帮忙吗?

谢谢!

原来问题既不是webpack也不是我的代码,而是我使用的第3方代码。

我基于 实现了 Google 登录,如您所见,它使用了本机 JS 处理程序 - 我认为这是问题所在。如果我将该代码放入 zone.run,那么一切正常。我认为原因是处理程序 运行 在区域上下文之外,这就是视图未更新的原因。