vue动态修改route里的meta属性 !求解答~~1

发布于 2022-09-12 00:08:45 字数 1099 浏览 10 评论 0

动态修改router里的meta属性;

router.js
{
  path:'/detail',
  meta:{
    title:'详情',
    isnavbar:false,
    istabbar:false
  },
  components:()=>import('xxx.vue')
}
路由配置

默认route.js的meta里的配置;

App.vue
<navbar v-if="$route.meta.isnavbar" :title="$route.meta.title">
<section>
  <router-view/>
</section>
<tabbar v-if="$route.meta.istabbar" />

这是在app.vue页面,统一的一个头部和底部导航

detail.vue

<template>

</template>
<script>
export default {
  name:'detail',
  data(){
    return {
      title:''
    }
  },
  methods:{
   getDetail(){
    axios.get(xxxx).
    then(res=>{
        this.title = res.data.title;
    })
   }
  },
  create(){
    this.getDetail()
  },
  mounted(){
    this.$route.meta.title = this.title
  }
}
</script>

这里说一下,进入detail页面后navbar的title默认是'详情',发送数据请求,获取到后端返回的title,保存到data里,然后在修改route.meta.title 为 this.title
这里在vue开发工具里能看到route.meta.title改变了,但是页面navbar里的title并没有更新。~ 求解!~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

软糯酥胸 2022-09-19 00:08:45

在created钩子函数中修改路由元信息。

忆梦 2022-09-19 00:08:45

更改title使用document.title = 'title'

醉殇 2022-09-19 00:08:45

"这里在vue开发工具里能看到route.meta.title改变了,但是页面navbar里的title并没有更新。"
楼主知道原因了吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文