Typescript 如何向应用程序添加动态标题-VueJS
我添加了以下路由机制Typescript 如何向应用程序添加动态标题-VueJS,typescript,vue.js,vue-router,Typescript,Vue.js,Vue Router,我添加了以下路由机制 { path: '/home', meta: { title : 'Welcome Back, ' + profile.userName + ' – Dashboard | A Company' }, name: 'home', component: () => import('@/views/Home.vue'), }, 我需要为每一页添加标题。但在运行应用程序时,我看不到上述情况。因此,我在**Vue.app** watch: {
{
path: '/home',
meta: { title : 'Welcome Back, ' + profile.userName + ' – Dashboard | A Company' },
name: 'home',
component: () => import('@/views/Home.vue'),
},
我需要为每一页添加标题。但在运行应用程序时,我看不到上述情况。因此,我在**Vue.app**
watch: {
'$route' (to, from) {
document.title = to.meta.title || 'A Company'
}
},
现在,标题加载。但是一旦API调用完成,它就无法选择profile.username
API返回数据后是否可以更改标题
API返回数据后是否可以更改标题
是的,但是我不知道你所有的代码,所以我不能写一些你可以复制粘贴的东西,但是你可以调整它直到它工作
主要的变化是使meta.title
成为一个函数
{
path: '/home',
meta: {
title: async function() {
var userName = await getUsernameFromWhereverYoureGettingItFrom()
return `Welcome Back, ${username} – Dashboard | A Company`
}
},
name: 'home',
component: () =>
import ('@/views/Home.vue'),
},
然后调用该函数
watch: {
'$route': async (to, from) {
document.title = to.meta.title ? await to.meta.title() : 'A Company'
}
},
API返回数据后是否可以更改标题
是的,但是我不知道你所有的代码,所以我不能写一些你可以复制粘贴的东西,但是你可以调整它直到它工作
主要的变化是使meta.title
成为一个函数
{
path: '/home',
meta: {
title: async function() {
var userName = await getUsernameFromWhereverYoureGettingItFrom()
return `Welcome Back, ${username} – Dashboard | A Company`
}
},
name: 'home',
component: () =>
import ('@/views/Home.vue'),
},
然后调用该函数
watch: {
'$route': async (to, from) {
document.title = to.meta.title ? await to.meta.title() : 'A Company'
}
},
我认为这在纯vue.js中是不可能的,但您可以使用nuxt.js来解决您的问题。您可以阅读更多关于这方面的内容,我认为这在纯vue.js中是不可能的,但是您可以使用nuxt.js来解决您的问题。您可以阅读更多关于此的信息,我看到您正在路由中进行API调用。但是对我来说,路由是不同的,API也是不同的。我看到你在路由中进行API调用。但对我来说,路由不同,API也不同