FontAwesome 无法使用 Vue3/TS over undefined props

FontAwesome not working with Vue3/TS over undefined props

Vue 3 + 打字稿。正在努力让 fontawesome 发挥作用。

以下代码导致 devtools 出错(而 cli 是 clean) - 似乎道具未定义,所以我也尝试了各种类型的绑定::icon="['fa', 'redo']" - 无济于事。

没错,我也通过 vue-fontawesome 获得了 TS2307 导入,即使软件包已安装并且 index.d.ts 带有 正确的成员导出 export const FontAwesomeIcon 在那里。 (2.0.2 版)

有什么问题的线索吗?

main.ts

// font-awesome
import { library } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; // <-- TS2307 squiggles
import { faRedo } from '@fortawesome/free-solid-svg-icons';

library.add(faRedo);

// bootstrap
createApp(App)
    .use(store)
    .use(router)
    .component('font-awesome-icon', FontAwesomeIcon)
    .mount('#app');

reload.vue(自定义组件)

<template>
  <span @click="doReload">
    Reload
    <font-awesome-icon icon="redo" />
  </span>
</template>

<script>
import { defineComponent } from 'vue';

export default defineComponent({
  name: 'Reload',
  setup(props, context) {
    const doReload = () => {
      context.emit('reload');
    };

    return {
      doReload,
    };
  },
});
</script>

我实际上不确定这是这里的唯一原因,但是:vue-fontawesome 的 2.0.2 版本实际上有 Vue 2 是它的对等依赖,而你提到的 Vue 3 在你的项目中使用。引用他们的文档:

使用 Vue 2.x

$ npm i --save @fortawesome/vue-fontawesome@latest

使用 Vue 3.x

$ npm i --save @fortawesome/vue-fontawesome@prerelease

后者安装版本 3.0.0-3,而不是 2.0.2。