询问一个vue中,触发更新周围坐标标志后需要手动刷新的问题。
目的是在搜寻周围坐标按钮后,周围的坐标被刷新并且显示在页面上。
但是目前的设置在触发按钮后,并没有被瞬时刷新而需要手动刷新页面。
部分代码如下
this.markers = _.map(this.stations, station => {
const stationId = station.id.toString();
const isShowingMarker = !(_.isEmpty(this.markerData) || _.isEmpty(this.markerData[stationId]) || _.isEmpty(this.markerData[stationId].map));
if (isShowingMarker) {
return this.markerData[stationId];
}
const icon = this.markerType(station);
let marker = new this.google.maps.Marker({
icon: icon,
position: this.getStationMarkerPosition(station),
map: this.map
});
marker.addListener('click', event => {
const selectedStation = _.find(this.stations, stationData => {
return stationData.id === station.id;
});
station.is_favorite = selectedStation.is_favorite;
this.openDetail(station);
if (this.$mq !== 'sm') {
this.onClickMarkerToChangeTab(stationId);
}
this.changedSelectedMarker(station);
this.map.setCenter(marker.getPosition());
});
this.$set(this.markerData, stationId, marker);
return marker;
或许问题出现在isShowingMarker 的地方?
请大家指教,非常感谢。
搜寻事件里 还要重新绘制地图。或者说更新marker
你看可以了解一下vue的监听事件(watch),将方法放到里面开启深度监听sleep,当你触发点击事件后,执行数据更新局部刷新操作等
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!