В моем приложении Vue у меня есть домашний вид, просматривая сообщения из API
http://jsonplaceholder.typicode.com/posts/
Использование Ax ios - это мой index.js
файл
import axios from 'axios'
export default {
fetchPosts () {
return axios
.get('http://jsonplaceholder.typicode.com/posts/')
.then(response => response.data)
}
}
Мой Настройка постов в режиме домашнего просмотра со ссылкой на маршрутизатор, генерирующей представление подробностей из json идентификатора поста
<li v-for="post in posts" :key="post.title" class="post-item">
<h1>{{ post.title }}</h1>
<router-link :to="{ name: 'details', params: { id: post.id }}"> {{ post.title }}</router-link>
</li>
сценарий My Home
<script>
export default {
name: 'home',
data () {
return {
loading: false
}
},
computed: {
posts () {
return this.$store.state.posts
}
},
created () {
this.loading = true
this.$store.dispatch('fetchPosts')
.then(posts => {
this.loading = false
})
}
}
</script>
Ссылка на маршрутизатор правильно генерирует представление сведений на основе на идентификаторе json, поэтому сообщение 1 создает страницу с именем /details/1
, так как мой текущий маршрутизатор настроен
const router = new Router({
mode: 'history',
routes: [
{
path: '/',
name: 'home',
component: Home,
props: true
},
{
path: '/details/:id',
name: 'details',
component: () => import(/* webpackChunkName: "details" */ './views/Details.vue'),
props: true
}
]
})
export default router
Внутри моего просмотра данных /views/Details.vue
У меня
<template>
<p> The post id is: {{ $route.params.id }} </p>
</template>
который корректно извлекает json из моего домашнего просмотра The detail is: 1
Как мне получить заголовок сообщения, тело и c в подробном представлении из домашнего просмотра?
Пожалуйста, дайте я знаю, если мне нужно предоставить любой другой код, спасибо.