Javascript.RU

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

Конструктор, не могу получить доступ к свойству класса
Добрый день!

Стоит задача - надо сделать класс, который будет реализовывать запрос данных и отрисовку.

Но я не могу получить доступ к свойствам класса. Пример ниже.

var addressbook = {
    list: [],
    init: function(url) {
        return $.ajax({
            cache: false,
            dataType: "json",
            timeout: 10000,
            type: "POST",
            url: url,
            success: function(data) {
                что - то делаю с data
                this.list = data - мне надо присвоить свойству list, значения из данной функции, но у меня не получается
            },
        });
    },
}


Я видимо как-то не так обращаюсь к свойству, по этому не могу получить к нему доступ?
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2014, 13:18
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

как вариант
var addressbook = {
    list: [],
    init: function(url) {
var me = this;
        return $.ajax({
            cache: false,
            dataType: "json",
            timeout: 10000,
            type: "POST",
            url: url,
            success: function(data) {
                что - то делаю с data
                me.list = data - мне надо присвоить свойству list, значения из данной функции, но у меня не получается
            },
        });
    },
}
Ответить с цитированием
  #3 (permalink)  
Старый 17.12.2014, 13:30
Интересующийся
Посмотреть профиль Найти все сообщения от moskitos80
 
Регистрация: 11.08.2013
Сообщений: 28

skrudjmakdak тогда бы уж объяснили человеку что внутри функции:

success: function(data) {
    что - то делаю с data
    me.list = data - мне надо присвоить свойству list, значения из данной функции, но у меня не получается
},


this - уже не есть ссылка на контекст объекта addressbook, ибо success - есть метод объекта-параметра который Вы передаете в $.ajax... Ох уж эти контексты
Ответить с цитированием
  #4 (permalink)  
Старый 17.12.2014, 13:36
Аватар для voodoo_dn
Интересующийся
Отправить личное сообщение для voodoo_dn Посмотреть профиль Найти все сообщения от voodoo_dn
 
Регистрация: 17.12.2014
Сообщений: 11

Сообщение от moskitos80 Посмотреть сообщение
skrudjmakdak тогда бы уж объяснили человеку что внутри функции:

success: function(data) {
    что - то делаю с data
    me.list = data - мне надо присвоить свойству list, значения из данной функции, но у меня не получается
},


this - уже не есть ссылка на контекст объекта addressbook, ибо success - есть метод объекта-параметра который Вы передаете в $.ajax... Ох уж эти контексты
Да я в курсе этого Я просто не знаю как мне лучше создать объект.
Я должен из функций(в данном случае функции в функции) получать доступ к this.list
Ответить с цитированием
  #5 (permalink)  
Старый 17.12.2014, 13:39
Интересующийся
Посмотреть профиль Найти все сообщения от moskitos80
 
Регистрация: 11.08.2013
Сообщений: 28

В таком случае skrudjmakdak дал вам железное решение
Ответить с цитированием
  #6 (permalink)  
Старый 17.12.2014, 18:07
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

skrudjmakdak,
Странное какое то траханье мозгов. This ради this? Почему не
var addressbook = {
    init: function(url) {
        return $.ajax({
            cache: false,
            dataType: "json",
            timeout: 10000,
            type: "POST",
            url: url,
            success: function(data) {
                addressbook.list = data// - мне надо присвоить свойству list, значения из данной функции, но у меня не получается
            },
        });
    },
}

?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается получить доступ к свойству объекта Kinetic.Image Straj Общие вопросы Javascript 5 07.08.2014 12:44
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Как в jQuery получить доступ к фрейму или самому верхнему окну? Neokortex jQuery 7 20.12.2010 10:38
Не могу получить доступ к ячейке таблицы Andrey2005 Элементы интерфейса 4 15.06.2009 00:34
Не могу получить высоту из css asci Общие вопросы Javascript 5 30.03.2009 13:31