Javascript Vuejs从父提供程序组件注入功能组件
我正在尝试从父“ThemeProvider”组件注入vue中的功能组件,但该功能组件没有获得提供的主题对象 仅当提供程序位于View.vue文件中时,此选项才有效。。。有没有办法做到“父级提供”>“子级注入”或“父级提供”>“子级注入”是唯一的方法 ThemeProvider.vueJavascript Vuejs从父提供程序组件注入功能组件,javascript,vue.js,inject,Javascript,Vue.js,Inject,我正在尝试从父“ThemeProvider”组件注入vue中的功能组件,但该功能组件没有获得提供的主题对象 仅当提供程序位于View.vue文件中时,此选项才有效。。。有没有办法做到“父级提供”>“子级注入”或“父级提供”>“子级注入”是唯一的方法 ThemeProvider.vue export default { name: 'ThemeProvider', provide: { theme: { dark: '#222' } }, rende
export default {
name: 'ThemeProvider',
provide: {
theme: {
dark: '#222'
}
},
render (h) {
return h('div', this.$slots.default)
}
}
FunctionComponent.vue
export default {
functional: true,
inject: {
theme: {
default: () => ({})
}
},
render: (h, { injections, children }) => {
console.log(injections.theme.dark) // dont exist
return h('div', children)
}
}
View.vue
<template>
<ThemeProvider>
<FunctionalComponent />
</ThemeProvider>
</template>
这不是直观的行为,而是预期的行为。