怎么在vue3的顶层文件中(main.ts / router.ts)使用第三方插件提供的函数钩子?
怎么在vue3的顶层文件中(main.ts / router.ts)使用第三方插件提供的函数钩子?
问题: 我要在router中使用i8n的功能这样引入使用会报错,我就算main.ts去设置也不行;
router.ts:
import { useI18n } from "vue-i18n";
const { t } = useI18n();
{
path: `/${t("Precompiler")}View`,name: `${t("Precompiler")}View`,
component: () => import("@/views/cssToolView/cssToolView.vue")
},
这样直接报错: 意思是必须在setup中使用
message-compiler.esm-bundler.js:54 Uncaught SyntaxError: Must be called at the top of a setup
function (at message-compiler.esm-bundler.js:54:19)
at createCompileError (message-compiler.esm-bundler.js:54:19)at createI18nError (vue-i18n.esm-bundler.js:100:12)
at useI18n (vue-i18n.esm-bundler.js:2214:15)
at index.ts:12:15
我就算在route.ts中这么写也不行:
function createRoutes( { t } = useI18n() ) {
console.log('587031', t("Precompiler")); return [];
}
createRoutes();
回答:
可以直接用i18n的全局对象.
const { global: {t, locale}} = createI18n()
以上是 怎么在vue3的顶层文件中(main.ts / router.ts)使用第三方插件提供的函数钩子? 的全部内容, 来源链接: utcz.com/p/933711.html