как я могу использовать свой класс JS в функции JQuery - PullRequest
0 голосов
/ 23 октября 2019

я создаю свой класс

export default class Quiz{
    constructor() {
        this.quizWrapper = null;
        this.quizStage = null;
        this.progressed = 1;
        this.quizType = 'empty';
        this.scope = 0;
    }
    start(){
        this.scope= 1;
        return true;
    }
};

и импортирую его с

// let test = new Quiz();
// console.log(test); // --> reurn the class fine 

jQuery(document).ready(function ($) {
    var test = new Quiz();
    console.log(test.start()); // --> reurn true
}); 

, так что все в порядке, но если я вызываю test в консоли браузера, я вижуошибка Uncaught ReferenceError: тест не определен

, если я сделаю это:

jQuery(document).ready(function ($) {
    $.test = new Quiz();

Я могу использовать его с $.test в консоли браузера.

Может кто-нибудь объяснить мне, почему это так? Я хотел бы инициализировать мой модуль после загрузки скриптов из jQuery и использовать его.

1 Ответ

0 голосов
/ 23 октября 2019

Это потому, что вы определяете test внутри функции, поэтому она не привязана к глобальной области действия

...