ng-click不在infowindow地图标记上工作

时间:2017-04-04 13:28:20

标签: javascript html angularjs flux

     for (let i of this.latlong) {
            this.customWindow = '<div ng-click="mapSearchController.getRestaurantBranchPage(' + i.restaurantId + ')"><img width="150" height="150" src="client/' + i.restaurantImg + '"/>' + '<b>' + i.restaurantTagline + '</b></div>';
            let customWindow = this.customWindow;
            let marker = [];
            marker = new google.maps.Marker({
                map: this.map,
                position: new google.maps.LatLng(i.latitude, i.longitude)
            });
            marker.setAnimation(google.maps.Animation.BOUNCE);
            //let marker = this.marker;
            setTimeout(function() {
                marker.setAnimation(null);
            }, 1500);
            //marker.content = '<div class="infoWindowContent">' + i.restaurantName + '</div>';
            google.maps.event.addListener(marker, 'click', (function(marker, i) {
                return function() {
                    restoInfoWindow.setContent(customWindow);
                    restoInfoWindow.open(this.map, marker);
                }
            })(marker, i));
            this.markers.push(marker);
        }

所有信息窗口都会在标记点击时加载,但进一步的ng-click在点击时不起作用 ng-click没有在指令中点击所需的angularjs函数 我已经尝试使用span和div但问题仍然是相同的,仍然没有调用。 在此先感谢

1 个答案:

答案 0 :(得分:0)

而不仅仅是

this.customWindow = '<div ng-click="mapSearchController.....';

你需要使用$ compile服务。

$compile('<div ng-click="mapSearchController.....')($scope);

$ scope应该是mapSearchController的范围

只有在这种情况下,你的ng-click才能正常工作。