如何解决从已安装的属性“函数”调用方法时出错,类型不存在
我收到此错误“属性 'load' 在类型 '{ name: string; components: { IonHeader:”上不存在 当我尝试从mounted() 调用函数load 时。 消息显示在控制台中,但我收到此错误。
<script lang="ts">
import {
IonHeader,IonToolbar,IonTitle,IonContent,//IonIcon,//IonButtons,IonButton,alertController,} from "@ionic/vue";
import { logout,add } from "ionicons/icons";
import { mapActions,mapGetters } from "vuex";
import { useRouter } from "vue-router";
import "../style/Home.scss";
export default {
name: "ListDatos",components: {
IonHeader,},data() {
return {
msg: "",datos: [],};
},setup() {
const router = useRouter();
return {
add,mounted() {
console.log("Test mounted");
this.load();
},methods: {
load(){
console.log("function load()");
},};
</script>
解决方法
那是因为 TypeScript 正在尝试猜测类型,并且由于您正在执行:export default {...all your code...}
对于只是一个对象的 TS,您需要指出它不仅仅是一个对象,实际上它是一个 Vue组件,这里是从文档中提取的代码(检查 docs here)
import Vue from 'vue'
const Component = Vue.extend({
// type inference enabled
})
正如您在该代码中看到的,组件定义包含在 Vue.extend()
中,因此您可以拥有自己的代码:
export default Vue.extend({
//...your component...
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。