如何访问 common javascript 模块中的当前路由元字段 - VueJs
How to access current route meta fields in common javascript module - VueJs
我的申请中有以下路线:
const router = new Router({
mode: 'history',
scrollBehavior: () => ({ y: 0 }),
routes: [
{ path: '/', component: HomePage, meta: { pageType: 'home'} },
],
});
并有通用js模块:
const trackEvent = {
getFields: () => {
//here need to access meta fields(pageType) of current route. how is it possible ?
}
}
export default trackEvent;
我想访问公共模块中的元字段。怎么可能?
meta
属性 可通过 Vue 实例上的 this.$route.meta
访问。只需将其传递给 getFields
方法即可。
export default {
created() {
let meta = getFields(this.$route.meta);
}
}
getFields: (meta) => {
console.log(meta);
return meta.fields.pageType; // not sure what you're trying to return exactly
}
如果您无法传入当前路线,则需要导入 router
对象并从中获取当前路线:
import router from 'path/to/your/router'
const trackEvent = {
getFields: () => {
let meta = router.currentRoute.meta;
console.log(meta);
return meta.fields.pageType; // not sure what you're trying to return exactly
}
}
export default trackEvent;
我的申请中有以下路线:
const router = new Router({
mode: 'history',
scrollBehavior: () => ({ y: 0 }),
routes: [
{ path: '/', component: HomePage, meta: { pageType: 'home'} },
],
});
并有通用js模块:
const trackEvent = {
getFields: () => {
//here need to access meta fields(pageType) of current route. how is it possible ?
}
}
export default trackEvent;
我想访问公共模块中的元字段。怎么可能?
meta
属性 可通过 Vue 实例上的 this.$route.meta
访问。只需将其传递给 getFields
方法即可。
export default {
created() {
let meta = getFields(this.$route.meta);
}
}
getFields: (meta) => {
console.log(meta);
return meta.fields.pageType; // not sure what you're trying to return exactly
}
如果您无法传入当前路线,则需要导入 router
对象并从中获取当前路线:
import router from 'path/to/your/router'
const trackEvent = {
getFields: () => {
let meta = router.currentRoute.meta;
console.log(meta);
return meta.fields.pageType; // not sure what you're trying to return exactly
}
}
export default trackEvent;