Я использую реквизиты, чтобы получить Id птиц.
Когда я впервые запускаю приложение и нажимаю, чтобы войти на вторую страницу, данные не загружаются. Это выдает следующую ошибку:
JS: [Vue warn]: Error in render: "TypeError: Cannot read property 'name' of undefined"
JS:
JS: found in
JS:
JS: ---> <Detail> at components/Detail.vue
JS: <Frame>
JS: <Root>
Но после того, как я нажимаю на кнопку второй раз, она загружается правильно.
Я создал репозиторий, показывающий проблему. Пожалуйста, проверьте это здесь: github repo
Рабочая площадка Graphql
<template>
<Page>
<StackLayout>
<Label :text="bird.name" textWrap="true" />
<Button text="get data" @tap="getData" />
</StackLayout>
</Page>
</template>
<script>
import { gql } from "apollo-boost";
export default {
props: ["birdID"],
apollo: {
bird: {
query: gql`
query($id: ID!) {
bird(id: $id) {
id
name
}
}
`,
variables() {
return {
id: this.birdID,
};
},
},
},
methods: {
getData() {
console.log("bird data: ", this.bird);
},
},
mounted() {},
};
</script>
<style></style>
Есть ли лучший способ получить данные?
Ответ был правильным
Я обновил github-репо с решением.
https://github.com/kaanguru/query-data-from-prop