我们的业务逻辑允许不同类型的配置文件页(用户配置文件、公司概要等等--每个都有自己的模板),但是URL并不区分配置文件的类型。所有URL的格式如下:
mysite.com/{{ profile-vanity-alias }}
vue-router
配置将如何确定要呈现哪个组件?例如:
mysite.com/zuckerberg
应该呈现一个用户配置文件,pagemysite.com/facebook
应该呈现一个公司配置文件pagemysite.com/jeffbezos
不存在,所以它应该呈现一个404mysite.com/companies/usa
应该呈现一个不同的页面,其中包含来自美国的公司列表(/companies/:country?
是一个已知的可以硬编码的路由)此外,我们还在考虑使用vue-ssr
(用于SEO);我从来没有真正使用SSR,所以我不知道从哪里开始-几个指针将是非常有用的!
谢谢!
发布于 2020-08-27 16:39:08
您可以使用开关逻辑来确定需要加载的组件,然后动态加载组件。
<component v-bind:is="component" />
也许你可以看看这篇文章的细节。https://blog.logrocket.com/how-to-make-your-components-dynamic-in-vue-js/
发布于 2020-11-11 09:04:15
路由路径显然类似于/:profile。我将有一个通用父组件,它响应该路由并加载相应的配置文件对象(来自API等),并且基于某些标志或其他条件,它显示人员或公司的配置文件组件--在这里,动态组件可能扮演一个角色。作为一个简短的草图,在父组件中,我将拥有:
<div>
<user-profile v-if="currentObject.isUser" :id="currentObject.id" />
<company-profile v-if="currentObject.isCompany" :id="currentObject.id" />
</div>
https://stackoverflow.com/questions/63619993
复制相似问题