от
Поскольку мой основной компонент одной из моих страниц становится немного большим и трудным для чтения, я бы хотел перенести некоторые методы в класс контроллера внешнего интерфейса. Вот мой тестовый класс, который находится в подпапке
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()
?              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

2 Ответы

0 голосов
от
Если вы хотите определить функцию класса для
SporteventsController
, вам нужно использовать ключевое слово
static
:   Ключевое слово
static
определяет статический метод для класса. Статические методы   не вызываются на экземпляры класса. Вместо этого они призваны   сам класс. Это часто вспомогательные функции, такие как функции   создавать или клонировать объекты.   (источник)
//SporteventsController.js

export default class SporteventsController {
  static test() {
    console.log("test");
  }
}

// component
0 голосов
от
Чтобы использовать .test (), вам нужно создать экземпляр SporteventsController.
export default {
    data () {
        return {
            sporteventsController: new SporteventsController()
        }
    }
}
Затем вы можете позвонить
this.sporteventsController.test()
Вы также можете проверить плагины или миксины.     
...