我有一个带有Google Places自动填充功能的输入字段。一切都按预期工作,但是一旦从自动完成下拉列表中进行选择,事件侦听器将不会响应。那不是预期的行为吗?这是我的代码。

let input: any = this.geocodeTest.nativeElement;
var searchBox = new google.maps.places.Autocomplete(input);
    searchBox.addListener("places_changed", () => {
        this._ngZone.run(() => {
            console.log('listening');
            var places = searchBox.getPlaces();
            if (places.length == 0) {
                return;
            }
        })
    });


该代码当前位于ngOnit()中

最佳答案

正如您提到的,您正在ngOnInit中运行这些代码,这是因为DOM元素仅在AfterViewInit生命周期之后才可用。

您必须将代码移至ngAfterViewInit

Plunker Demo

关于javascript - Angular 2 Google Places自动完成事件监听器未响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43920564/

10-12 12:28