Vue.js 从装入的属性调用方法时出错';功能';类型上不存在

Vue.js 从装入的属性调用方法时出错';功能';类型上不存在,vue.js,ionic3,Vue.js,Ionic3,我收到以下错误“类型{name:string;组件:{IonHeader:”上不存在属性“load”: 当我试图从mounted()调用函数load时。 控制台中显示消息,但我收到此错误 <script lang="ts"> import { IonHeader, IonToolbar, IonTitle, IonContent, //IonIcon, //IonButtons, IonButton, alertController

我收到以下错误“类型{name:string;组件:{IonHeader:”上不存在属性“load”: 当我试图从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,
    IonToolbar,
    IonTitle,
    IonContent,
    IonButton,
  },
  data() {
    return {
      msg: "",
      datos: [],
    };
  },
  setup() {
    const router = useRouter();
    return {
      add,
    };
  },
  mounted() {
    console.log("Test mounted");
    this.load();
  },
  methods: {

    load(){
      console.log("function load()");
    },
    
  },
};
</script>

进口{
IonHeader,
IonToolbar,
IonTitle,
爱雍容,
//爱奥尼肯,
//离子按钮,
IonButton,
警报控制器,
}来自“@IONAL/vue”;
从“ionicons/icons”导入{注销,添加};
从“vuex”导入{mapActions,mapGetters};
从“vue路由器”导入{useRouter};
导入“./style/Home.scss”;
导出默认值{
名称:“ListDatos”,
组成部分:{
IonHeader,
IonToolbar,
IonTitle,
爱雍容,
IonButton,
},
数据(){
返回{
味精:“,
datos:[],
};
},
设置(){
const router=useRouter();
返回{
添加
};
},
安装的(){
控制台日志(“测试安装”);
这个.load();
},
方法:{
加载(){
log(“函数加载()”);
},
},
};

这是因为TypeScript正在尝试猜测类型,并且您正在执行:
导出默认值{…所有代码…}
对于只是对象的TS,您需要指出它不仅仅是对象,事实上它是一个Vue组件,下面是从文档中提取的代码(检查)

正如您在该代码中看到的,组件定义包装在
Vue.extend()
中,因此您可以使用以下代码:

export default Vue.extend({
   //...your component...
})
export default Vue.extend({
   //...your component...
})