怎么在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

回到顶部