Я работаю над демонстрационным приложением, использующим Vuejs, и, как часть этого, мне нужно получить некоторые картографические данные из локального файла .json, получить определенные его части (например, значения lat / long), а затем поместите его в соответствующие объекты данных, чтобы они могли отображаться на карте. После долгих поисков кажется, что проще всего использовать метод jQuery $.getJSON()
. Однако я не могу понять, как получить данные из обратного вызова $.getJSON
к моему объекту Vue markers
.
Вот мой соответствующий код:
<script>
import _ from 'lodash'
import $ from 'jquery'
export default {
name: 'HelloWorld',
data () {
return {
center: {lat: 37.541885, lng: -77.440624},
markers: []
}
},
methods: {
getMarkers: function () {
var apparatus = {}
var address = []
var description = {}
$.getJSON('../static/event1.json', function (data) {
// What do I do here to get outside of this function so
// I can manipulate it?
apparatus = data.apparatus
address = data.address
description = data.description
})
}
},
created () {
this.getMarkers()
}
}
</script>
Как видно из приведенного выше комментария, мне нужно получить данные из обратного вызова $.getJSON
, но я не вижу, что мне нужно для этого. Будет ли этот способ работать или есть лучший способ?