マーカーをピックアップしてドロップすると、v-modelにデータを保存します。 console.logはうまくいきますが、this.latitudeは表示されず、隠しフィールドも塗りつぶされません。Vuejsがmarker.onからdataにデータを返します
これをどのように達成できますか?
<input type="hidden" name="lat" v-model="lat">
export default{
data: function() {
return {
lat: '51.8778909'
},
addMarker: function (lat, lng) {
var latlng = new L.LatLng(lat, lng)
marker = new L.marker(latlng, {draggable: 'true'})
map.setZoom(19)
map.panTo(latlng)
marker.on('dragend', function (event) {
this.latitude = lat
console.log(lat);
.......
}
あなたのVueで「緯度」はどこに定義されていますか?また、あなたのコールバック( 'marker.on')の中で、' this'はVueではありません。 'これを正しく捕らえる必要があります。 – Bert
@BertEvansどういう意味ですか? – Bas
あなたのコードでは、あなたのコールバックに 'this.latitude = lat'を設定します。しかし、あなたのデータに定義された 'latitude'プロパティはありません。 – Bert