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。
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。