Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2017, 14:36
Интересующийся
Отправить личное сообщение для davisaliw Посмотреть профиль Найти все сообщения от davisaliw
 
Регистрация: 03.07.2017
Сообщений: 12

Изменение значения переменной в другом модуле
Добрый день, возникла проблема:
есть 1 скрипта и модуль:
  • папка/script.js
  • папка/node_modules/window/index.js

Содержимое основного(script.js):

Код:
var window = require("window");
window.setActiveElement("setok");
console.log(window.activeElement ); // в консоли должно быть OK
window.setActiveElement("setbad");
console.log(window.activeElement ); // в консоли должно быть BAD

Содержимое модуля window(index.js):

Код:
var aElement = '';

function setActiveElement(a){
	aElement = (a == "setok") ? 'OK' : 'BAD';
	};
	
module.exports.setActiveElement = setActiveElement;
module.exports.activeElement = aElement;
Но после выполнение в консоли получается просто 2 пустых строчки
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2017, 14:50
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 845

Ну всё правильно, в
module.exports.activeElement

была присвоена пустая строка, и такой осталась.

сделай так:
module.exports.getActiveElement = function() { return aElement; };


вызывай console.log(window.getActiveElement());
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2017, 15:22
Интересующийся
Отправить личное сообщение для davisaliw Посмотреть профиль Найти все сообщения от davisaliw
 
Регистрация: 03.07.2017
Сообщений: 12

Сообщение от Alexandroppolus Посмотреть сообщение
Ну всё правильно, в
module.exports.activeElement

была присвоена пустая строка, и такой осталась.

сделай так:
module.exports.getActiveElement = function() { return aElement; };


вызывай console.log(window.getActiveElement());
да, спасибо, понял
это работает

Yо как можно сделать чтобы конкретно window.activeElement выдавало значение? без функций
Ответить с цитированием
  #4 (permalink)  
Старый 03.07.2017, 17:02
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 845

Сообщение от davisaliw
как можно сделать чтобы конкретно window.activeElement выдавало значение? без функций
создать свойство:
Object.defineProperty(module.exports, 'activeElement', {
  get: function() {
    return aElement;
  }
});


будет стильно, современно, молодёжно и по-хипстерски )
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2017, 17:40
Интересующийся
Отправить личное сообщение для davisaliw Посмотреть профиль Найти все сообщения от davisaliw
 
Регистрация: 03.07.2017
Сообщений: 12

спасибо большое, то что нужно
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение значения переменной в режиме реального времени The_FactioN jQuery 3 09.03.2016 11:20
изменение значения input при смене значения select galart jQuery 4 30.01.2015 18:39
Преобразование значения переменной в строку leny Общие вопросы Javascript 3 01.10.2011 21:34
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 12.09.2011 23:56
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 14:50