我正在尝试将一些角度属性与* ngIf绑定,但根本不起作用。
我向您展示了我的代码,首先是我的loadMap函数:
loadMap() {
this.map = new google.maps.Map(document.getElementById('map'), this.mapOptions);
google.maps.event.addListenerOnce(this.map, 'idle', ()=>{
this.addMarkers()
});
}
addMarkers()函数:
addMarkers() {
var me = this;
this.restaurants.map( restaurant => {
new google.maps.Marker({
position: new google.maps.LatLng(restaurant.location.latitude, restaurant.location.longitude),
map: this.map,
animation: google.maps.Animation.DROP,
name: restaurant.id
})
.addListener('click', function() {
me.ngZone.run(() => {
this.restaurantSelected = restaurant
console.log(this.restaurantSelected);
});
});
});
}
问题甚至在ngZone.run()内部,这是引用标记而不是组件。我不知道怎么能解决这个问题。
提前谢谢。
问候。
答案 0 :(得分:2)
我会使用箭头函数而不是函数表达式来保留this
.addListener('click', () => {
^^^^^^^^
me.ngZone.run(() => {
this.restaurantSelected = restaurant
console.log(this.restaurantSelected);
});
});