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也不同