Oto moje dane:Axios nie można ustawić dane
data: function(){
return {
contas: [{id: 3,
nome: "Conta de telefone",
pago: false,
valor: 55.99,
vencimento: "22/08/2016"}] //debug test value
};
},
A oto moja prośba get:
beforeMount() {
axios.get('http://127.0.0.1/api/bills')
.then(function (response) {
console.log("before: " + this.contas);
this.contas = response.data;
console.log("after: " + this.contas);
});
},
Problemem jest to, że nie może uzyskać dostępu do this.contas
od wewnątrz axios.get()
. Próbowałem bezskutecznie Vue.set(this, 'contas', response.data);
i window.listaPagarComponent.contas = response.data;
.
Moja konsola pokazuje:
before: undefined
after: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ale Vue DevTools pokazuje tylko:
contas: Array[1]
0: Object
id: 3
nome: "Conta de telefone"
pago: false
valor: 55.99
vencimento: "22/08/2016"
Oto mój full code.
spróbuje użyć 'utworzony()' 'beforeMount hak zamiast () '.A jeśli już zdefiniowałeś jakieś dane w tablicy contas, to myślę, że obiecuję, że powinieneś zrobić array.push. –
Okay, czy mógłbyś utworzyć nową tablicę w modelu danych i ustawić dla niej dane odpowiedzi? A potem kasy, czy przedmioty są przechowywane w tablicy. Niestety, nie pracuję z Axios, wolałbym iść z zasobem Vue. –
@Belmin Nic się nie zmienia ... I jest to tylko wartość testu debugowania. Nie chcę tej wartości. Problem polega na tym, że nie mogę użyć słowa 'this.contas' w odniesieniu do danych komponentu' contas'. Żadna funkcja nie działa. Myślę, że axios jest "obiektem", więc kiedy używam 'this', odnosi się to do axios. –