Vue.js 从装入的属性调用方法时出错';功能';类型上不存在
我收到以下错误“类型{name:string;组件:{IonHeader:”上不存在属性“load”: 当我试图从mounted()调用函数load时。 控制台中显示消息,但我收到此错误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
<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...
})