Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.08.2016, 13:32
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

Как в объет добавить данные.
Не могу допереть можно ли так сделать//
1. Есть объект
var obj = {}

2. Есть две переменные
var name = 'myFunction';
var func = (function(){ // Приходит с сервера - ajax
// ...
});


Как можно сделать что бы в итоге было:
var obj = {
myFunction : (function(){ // Приходит с сервера - ajax
// ...
});
}
Ответить с цитированием
  #2 (permalink)  
Старый 03.08.2016, 20:34
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

obj[name] = function(){ // Приходит с сервера - ajax
// ...
}
Ответить с цитированием
  #3 (permalink)  
Старый 04.08.2016, 05:53
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

Я пытаюсь вот что добиться.
На сервере лежат куски js кода которые выдёргиваются в нужный момент.
Например:
Такой модуль.
(function(){
  var private = '';

  return {
      func1 : fucntion(){},
      func2 : fucntion(){}
}
});


Есть один объект который хранит все модули, например App
Мне нужно что бы получив с сервера данный кусок кода он стал рабочим объектом в App.
То есть, упрощённо...

Получаю с сервера:
$.get(url, function(data){ // получили кусок js кода в data
 // как его вставить в объект App
// что бы я мог обратиться к модулю так:
// App.module.func1()
// App.module.func2()
})
Ответить с цитированием
  #4 (permalink)  
Старый 04.08.2016, 10:20
Аспирант
Отправить личное сообщение для Spass Посмотреть профиль Найти все сообщения от Spass
 
Регистрация: 14.07.2016
Сообщений: 86

Если под модулями подразумевается отдельный js файл то можно в нем же и делать присваивание

App.module1 = {
private : '',
func1 : function() {},
...
}



Если размеры модулей по пару килобайт то лучше все запихнуть в один файл

Последний раз редактировалось Spass, 04.08.2016 в 10:30.
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2016, 15:55
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

Spass, вот Спасибо.
Как я сразу не догадался! пока с js трудновато, язык интересный, но сходу - мутный.
У нас сейчас модули грузятся каждый в своё замыкание:
Например:
KATALOG = (function(){})();

Получается удобно, но в глобале висят все... Хочется создать один объект и в него всё складывать, а общаться между собой по событийной модели.. Сначала хотел require.js - но там как то всего лишнего много - на наш взгляд... Это описывать зависимости и тд..

Последний раз редактировалось Evgeny_Dedov, 04.08.2016 в 16:30.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправляются данные djonA Общие вопросы Javascript 4 05.06.2015 11:17
Как передать данные в другую панель из выбранной строки таблицы. layout: 'card'. Пролетарий ExtJS 5 03.06.2015 22:53
Как можно отправить данные с одного сайта на другой с jQuery grigori59 AJAX и COMET 5 21.12.2012 17:25
Как связать данные с нескольких форм FAG Элементы интерфейса 0 24.10.2012 15:56
Как подгрузить данные с чужого домена, XSS-proof? Actine AJAX и COMET 6 03.09.2011 22:08