【发布时间】:2019-04-11 15:01:49
【问题描述】:
我当前的代码是
addpolygon: function(e) {
var vm = this;
var point = {
lat: parseFloat(e.latLng.lat()),
lng: parseFloat(e.latLng.lng())
};
vm.coord.push(point);
vm.replot();
vm.marker = new google.maps.Marker({
position: point,
map: vm.map,
icon: "/fred.png"
});
vm.infowindow = new google.maps.InfoWindow({
content:"<a class=\"btn btn-danger\" @click.native=\"removePoint("+vm.markerid+)\">Remove</a>",
maxWidth: 300
});
vm.bindInfoWindow(vm.marker, vm.map, vm.infowindow);
vm.markers[vm.markerid] = {
marker: vm.marker,
point: point
};
vm.markerid++;
},
当我点击Remove时,我需要触发另一个函数remove Point。
我把它定义为
removePoint: function(id) {
alert("adsf")
},
但我无法使用上述代码触发相同的操作。当我单击按钮删除时没有任何反应。关于相同的问题是什么。请帮我解决一下?
【问题讨论】:
-
看起来您在此处有语法错误:
vm.markerid+)\">Remove</a>"。最后一个字符串没有开放引号。应该是vm.markerid + ")\">Remove</a>" -
先生,我试过
-
获取错误作为未捕获的 ReferenceError: removePoint 未在 HTMLButtonElement.onclick 中定义
-
是否在 Vue 对象中定义了 removePoint,比如 addPolygon?它可能应该在任何 Vue 对象之外,可以从不受 Vue 管理的元素访问(地图的 infoWindow 可能没有附加到 Vue 根元素)
-
先生,removePoint 是一个在 addPolygon 下定义的函数
标签: javascript google-maps vue.js vuejs2 vue-component