【发布时间】:2019-11-19 14:12:27
【问题描述】:
我需要根据路由更改 Vue 组件中的数据。例如,加载飞机页面时,我希望数据包含飞机图像。如果随后加载了 Animals 页面,那么我希望数据包含 Animals 图像。
该网站可以在这里看到:https://test.joebaileyphotography.com/Portfolio
Vue.component('subitem', {
props: ['photo'],
template: `
<a :href="photo.img">
<img :src="photo.img" width="100%" height="auto">
</a>
`
});
const subitem = {
data() {
return {
photos: [
{img: 'Images/Portfolio/Aircraft/image1.jpg'},
{img: 'Images/Portfolio/Aircraft/image1.jpg'},
{img: 'Images/Portfolio/Aircraft/image1.jpg'}
],
}
},
template: `
<div>
<breadcrumbs></breadcrumbs>
<info></info>
<div class="portfolio" id="portfolio" data-featherlight-gallery data-featherlight-filter="a:not(.all)">
<subitem
v-for="subitem in photos"
:key="subitem.photo"
v-bind:photo="subitem">
</subitem>
</div>
</div>
`
};
const router = new VueRouter({
mode: 'history',
routes: [
{ path: '/Portfolio/:id', component: subitem },
{ path: '/Portfolio', component: item }
]
});
【问题讨论】:
-
您可以使用
$route.params.id查看您所在的网站,并据此显示照片 -
我如何在
const subitem = { data() {中创建一个if语句
标签: vue.js vuejs2 vue-component vue-router