由于我其中一个页面的主要组成部分变得有些大且难以阅读,因此我想将某些方法外包给前端控制器类。
这是我的测试类,位于子文件夹controller/SporteventsController.js
export class SporteventsController{
test(){
return 'Printing test';
}
}
我将类导入到组件中,如下所示:
import {SporteventsController} from "./controller/SporteventsController.js";
对于测试,我只是通过方法将方法test的返回值输出到控制台
methods: {
testmethod() {
console.log(SporteventsController.prototype.test());
}
},
我试图在网上找到一种更合适的方法,以了解如何将标准ES6类导入vuejs组件中,但效果不理想。
我在上面做的方法几乎不错,但是为什么我必须使用原型而不能仅仅使用SporteventsController.test()
?
答案 0 :(得分:2)
如果要为SporteventsController
定义类函数,则需要使用static
关键字:
static
关键字为类定义了静态方法。静态方法 不会在类的实例上调用。相反,他们被要求 类本身。这些通常是实用程序功能,例如功能 创建或克隆对象。 (source)
//SporteventsController.js
export default class SporteventsController {
static test() {
console.log("test");
}
}
// component
<template>
<div>
<button @click="testFromController">click</button>
</div>
</template>
<script>
import SporteventsController from "./controller/SporteventsController";
export default {
methods: {
testFromController() {
SporteventsController.test()
}
}
}
</script>
答案 1 :(得分:0)