比如我有两级菜单
user:{
child:[
{detail},
{update}
]
}
order:{
child:[
{add},
{delete}
]
}
我想给所有所有 user路由下面的子路由混入一个 mounted;
不能影响到 order路由,
我在main.js里面用了全局混入,发现连我引入的第三方库都会影响到
比如我有两级菜单
user:{
child:[
{detail},
{update}
]
}
order:{
child:[
{add},
{delete}
]
}
我想给所有所有 user路由下面的子路由混入一个 mounted;
不能影响到 order路由,
我在main.js里面用了全局混入,发现连我引入的第三方库都会影响到
全局 mixin 顾名思义就是全局的,你在问题描述中的需求与全局不符,因此不能这么使用。
如果想要达到类似的效果,请使用 vue 提供的 provide/inject
依赖注入 api,这种应该可以达到全局注入依赖,局部按需注入的要求。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
vue没有提供直接方法,但要实现起来并不难,比较简单的办法是在全局
mixin
方法里面加判断比如这样
只有组件中
data
预设了mixinActive: true
才会执行,当然这个判断也可以过this.$options.name
判断组件名,或者this.$route
判断路由来确定