Передайте глобальную переменную для импорта модулей JS - PullRequest
0 голосов
/ 07 сентября 2018

Гипотетически у меня есть два файла JS, которые импортируются с помощью веб-пакета. Я хочу создать глобальные переменные, которые я могу использовать в своем приложении. Проблема в том, что я не могу сделать это после большого количества проб по ошибке. Я видел похожий вопрос, но этот сценарий уникален (плюс ответы не сработали)

Я уменьшил это до самой простой формы, которая должна объяснить, что я пытаюсь сделать.

one.js

class oneJS {
    constructor() {
        var windowWidth = $(window).width()
    }
}
export default oneJS

two.js

class twoJS {
    constructor() {
        if (windowWidth >= 1200) {
            console.log('greater than');
        } else {
            console.log('less than');
        };
    }
}
export default twoJS

index.js

import oneJS from 'one.js';
new oneJS();

import twoJS from 'two.js';
new twoJS();

Как всегда, заранее спасибо.

1 Ответ

0 голосов
/ 08 сентября 2018

Вы можете сохранить свое значение как свойство экземпляра в OneJS и использовать инжектор конструктора, чтобы внедрить экземпляр oneJs во все другие экземпляры класса, которым требуется доступ к тому же значению, например,

one.js

class OneJS {
    constructor() {
        this.windowWidth = $(window).width(); // Store the value on the instance
    }
}
export default OneJS;

two.js

class TwoJS {
    constructor(one) {
        if (one.windowWidth >= 1200) {
            console.log('greater than');
        } else {
            console.log('less than');
        }
    }
}
export default TwoJS

index.js

import OneJS from 'one.js';
import TwoJS from 'two.js';

const oneJS = new OneJS();

new TwoJS(oneJS);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...