请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于指令获取不到当前路由问题

老师问下,指令directive在vue3.0通过vnode或者useRouter获取不到当前路由下的meta的数据

正在回答 回答被采纳积分+3

1回答

张轩 2021-02-03 17:21:21

同学你好 可以使用 useRoute 这个钩子函数

const route = useRoute()
console.log(route.meta)


0 回复 有任何疑惑可以回复我~
  • 提问者 慕圣1477345 #1
    老师在setup里可以通过useRoute获取到meta 但是把它放到directive里就是undefined
    回复 有任何疑惑可以回复我~ 2021-02-03 21:03:12
  • 张轩 回复 提问者 慕圣1477345 #2
    你是怎样使用 directive 的?
    回复 有任何疑惑可以回复我~ 2021-02-04 09:27:19
  • 提问者 慕圣1477345 回复 张轩 #3
    import { createApp, getCurrentInstance } from 'vue'
    import App from './App.vue'
    import { useRoute } from 'vue-router'
    
    import { usePlugins } from './plugins'
    
    const app = createApp(App)
    usePlugins(app)
    
    app.directive('focus', {
      mounted(el, vnode) {
        const route = useRoute()
        console.log(route)
        el.focus()
      }
    })
    
    // directive里面console.log打印出undefined
    回复 有任何疑惑可以回复我~ 2021-02-04 12:40:13
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号