Я не понимаю что-то о том, чтобы получить данные о базе данных в vue ... Я с удовольствием удалю вопрос или оставлю свою работу программиста, как только получу ответ;)
Я понимаю, чтоданные асинхронны, поэтому vue пытается визуализировать компонент до получения данных.Но я не вижу, как заставить это ждать.Примеры будут с благодарностью.Я пытался читать документы, но я просто не понимаю.
Это крошечное крошечное приложение, которое отображает парковку нашей компании и сохраняет местоположение пользователя (автомобиль) в базе данных (мы устали от этого)забыв, где мы припарковались).Благодарен за любую помощь!
О, и я использую set (), потому что за один раз нужно сохранять только одно местоположение автомобиля, поэтому вполне нормально, что данные перезаписываются каждый раз, когда пользователь касается нового местана экране.
<template>
<div id="app">
<span id="marker" class="fas fa-times" :style="{ left: leftCoord, top: topCoord }"></span>
<img @click="saveCoordinates($event)" src="./assets/parking-lot.jpg">
</div>
</template>
<script>
import firebase from 'firebase'
const config = {
apiKey: 'MY-API-KEY',
authDomain: 'MY-APP.firebaseapp.com',
databaseURL: 'https://MY-APP.firebaseio.com',
projectId: 'MY-APP',
storageBucket: 'MY-APP.appspot.com',
messagingSenderId: '1234567890'
}
const app = firebase.initializeApp(config)
const db = app.database()
const locationRef = db.ref('location')
export default {
name: 'app',
firebase: {
location: locationRef
},
mounted () {
this.leftCoord = this.location.leftCoord
this.topCoord = this.location.topCoord
},
data () {
return {
leftCoord: '',
topCoord: ''
}
},
methods: {
saveCoordinates: function (clickEvent) {
const coordinates = {
leftCoord: clickEvent.layerX,
topCoord: clickEvent.layerY
}
this.location.set(coordinates)
}
}
}
</script>