- Создан RouteMixin.js для предоставления route() всем компонентам - Обновлён ssr.js с правильным импортом Router и созданием route функции - Исправлен BackButton.vue с проверкой this.route перед использованием - Добавлена обработка ошибок для route() с fallback на '#' Решает ошибку: ReferenceError: route is not defined at Proxy.resolvedLink Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
28 lines
931 B
JavaScript
28 lines
931 B
JavaScript
/**
|
|
* SSR-safe route mixin
|
|
* Provides the route() function to all Vue components during SSR
|
|
*/
|
|
|
|
export function createRouteMixin(pageProps, RouterClass) {
|
|
return {
|
|
methods: {
|
|
route(name, params = {}, absolute = false) {
|
|
try {
|
|
const ziggyConfig = {
|
|
...pageProps.ziggy,
|
|
location: pageProps.ziggy?.location
|
|
? new URL(pageProps.ziggy.location)
|
|
: new URL(process.env.APP_URL || 'http://localhost'),
|
|
};
|
|
|
|
const router = new RouterClass(name, params, absolute, ziggyConfig);
|
|
return router.toString();
|
|
} catch (error) {
|
|
console.error('Ziggy route error:', error.message);
|
|
return '#';
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|