怎么在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();

阅读 2.1k
1 个回答

可以直接用i18n的全局对象.

const { global: {t, locale}} = createI18n()
推荐问题
logo
Microsoft
子站问答
访问
宣传栏