[英]i Get a "Property type does not exist on type boolean" error when i try to do an inline ternary operator in vue3 typescript
[英]Vue3 property 'x' does not exist on type 'Function' for global property
我有一个 Quasar 应用程序,似乎遇到了一个奇怪的问题。 我正在尝试定义一个全局变量,它是一个 object,它只包含有关应用程序的元信息。 该应用程序完全编译,正确的信息显示在 HTML 中,但在 VSCode 中出现错误。
src/boot/BackChat.js
import { boot } from 'quasar/wrappers';
const version = '0.0.0';
const backChat = {
version
};
export default boot(({ app, router, store }) => {
app.config.globalProperties.backChat = backChat;
});
登录.vue
// ...
<script>
import { ref } from 'vue';
export default {
data() {
return {
backChat: this.backChat
};
}
}
</script>
我使用这个接口是错误的还是这只是 Vue 文件验证的一个错误? 似乎它认为 Login.vue 中的“backChat”是 function。 如果我将 data() 更改为 mount(),它不再是 function,但是我无法在 DOM 中访问它。 我对 Vue 很陌生。
我有一个解决方法,这是最简单的方法。 我不确定这是否是你应该做的,但是,因为它认为它是一个 function,我只是将 globalProperty 设为 function,它返回 ZA8CFDE6331BD59EB26666F8911ZC4。
src/boot/BackChat.js
// ...
export default boot(({ app, router, store }) => {
app.config.globalProperties.$backChat = () => backChat;
});
登录.vue
// ...
data() {
return {
username,
password,
backChat: this.$backChat()
};
},
这修复了 Vue 文件中突出显示的错误,并允许全局 object 的相同用法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.