我开发了一个 Vue 应用程序,每个页面上都有导航和内容。我需要的是为 Twitter 和 Facebook 卡的每个不同页面设置元标记。为此,我使用 vue-meta 库,并提出了以下代码:
metaInfo() {
return {
meta: [
{
property: 'og:title',
content: `Card #${this.card_no ? this.card_no : ''}`,
vmid: 'og:title'
},
{
property: 'og:image',
content: `${this.card ? this.card.participantA.image : ''}`,
vmid: 'og:image'
},
{
property: 'og:description',
content: `${this.card ? this.card.description : ''}`,
vmid: 'og:description'
},
{
property: 'twitter:title',
content: `Card #${this.card_no ? this.card_no : ''}`,
vmid: 'twitter:title'
},
{
property: 'twitter:image',
content: `${this.card ? this.card.participantA.image : ''}`,
vmid: 'twitter:image'
},
{
property: 'twitter:description', …Run Code Online (Sandbox Code Playgroud) 我有一个 Quasar 应用程序,我想在以下场景中使用 keep-alive 缓存某些页面:用户从主页导航到第 1 页,然后从第 1 页用户导航到第 2 页,然后用户使用 $router.back 返回() 从第 2 页到第 1 页,在当前场景中,mounted() 钩子在第 1 页中再次运行,并且页面重新渲染,进行另一个完全没有必要的 API 调用。我当前的实现如下所示:
<q-page-container class="overflow-auto">
<keep-alive>
<router-view :key="$route.fullPath"></router-view>
</keep-alive>
</q-page-container>
Run Code Online (Sandbox Code Playgroud)
我已经在路线和页面本身中设置了名称属性。我也尝试使用
include="Home,Workout" 但结果是相同的,安装的钩子每次都会运行并且页面会重新渲染。我还需要页面保持活动状态,以便我可以更改滚动行为,滚动回用户之前所在的位置left Page 1. 这被记住了,我可以看到控制台日志,例如显示y:883,但由于页面被重新渲染,它再次出现在顶部。值得一提的是,我正在使用路由器哈希模式?