Стандартный способ сделать это - отобразить свойство data
в шаблоне.
<span class="symbolTicket">
{{ ticket }}
</span>
data () {
return {
ticket: null
}
}
Затем загрузить значение из хука created
:
created () {
this.getTicket()
},
methods: {
getTicket () {
return axios.get("http://localhost:2000/" , {
params: {
foo: 'SELECT * FROM eur_usd WHERE primary_key = 2;'
}
})
.then(response => {
const ticket = response.data.ticket;
// Update the data property
this.ticket = ticket;
console.log(ticket);
return ticket;
})
.catch(function (error) {
console.log(error);
});
}
}
Метод getTicket
выполняет асинхронный запрос к серверу, поэтому он не может напрямую вернуть ticket
. Все, что он может вернуть, - это соответствующее обещание. Шаблон нуждается в значении синхронно, поэтому использование возвращаемого значения из getTicket
не может работать.
Вам также может понадобиться обработать случай, когда ticket
равен null
. Во время первоначального рендеринга запрос к серверу не будет завершен, поэтому ticket
будет по-прежнему null
.
Если вы счастливы, используя async
/ await
метод getTicket
можно упростить, но это не изменит общий поток, описанный выше. Вам все еще нужно отдельное свойство data
для хранения результата.