Vue 在页面更改时注入
Vue inject on page change
所以我有一个提供对象的视图。
setup(){
provide('string', {foo: 'bar'})
}
在使用 vue-router 更改页面时,我希望加载的组件注入该字符串,但我未定义。
setup() {
const foo = inject('string')
}
你知道我该怎么做吗?
按照@shob 的说明,我最终构建了一个自定义挂钩,这样我就可以访问任何组件中的信息。我把它留在这里以防将来有人需要它。
import { provide, inject } from 'vue';
import cartProducts from '@/resources/CartProducts.ts';
const itemsSymbol = Symbol();
const provideCartBasket = (): void => {
const items = cartProducts;
provide(itemsSymbol, items);
};
const useCartBasket = () => {
const cartItems = inject(itemsSymbol);
if (!cartItems) {
console.log('No items available');
}
return cartItems;
};
export { provideCartBasket, useCartBasket };
所以我有一个提供对象的视图。
setup(){
provide('string', {foo: 'bar'})
}
在使用 vue-router 更改页面时,我希望加载的组件注入该字符串,但我未定义。
setup() {
const foo = inject('string')
}
你知道我该怎么做吗?
按照@shob 的说明,我最终构建了一个自定义挂钩,这样我就可以访问任何组件中的信息。我把它留在这里以防将来有人需要它。
import { provide, inject } from 'vue';
import cartProducts from '@/resources/CartProducts.ts';
const itemsSymbol = Symbol();
const provideCartBasket = (): void => {
const items = cartProducts;
provide(itemsSymbol, items);
};
const useCartBasket = () => {
const cartItems = inject(itemsSymbol);
if (!cartItems) {
console.log('No items available');
}
return cartItems;
};
export { provideCartBasket, useCartBasket };