Конструктор, не могу получить доступ к свойству класса
Добрый день!
Стоит задача - надо сделать класс, который будет реализовывать запрос данных и отрисовку. Но я не могу получить доступ к свойствам класса. Пример ниже. 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, значения из данной функции, но у меня не получается }, }); }, } Я видимо как-то не так обращаюсь к свойству, по этому не могу получить к нему доступ? |
как вариант
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, значения из данной функции, но у меня не получается }, }); }, } |
skrudjmakdak тогда бы уж объяснили человеку что внутри функции:
success: function(data) { что - то делаю с data me.list = data - мне надо присвоить свойству list, значения из данной функции, но у меня не получается }, this - уже не есть ссылка на контекст объекта addressbook, ибо success - есть метод объекта-параметра который Вы передаете в $.ajax... Ох уж эти контексты ;) |
Цитата:
Я должен из функций(в данном случае функции в функции) получать доступ к this.list |
В таком случае skrudjmakdak дал вам железное решение :)
|
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, значения из данной функции, но у меня не получается }, }); }, } ? |
Часовой пояс GMT +3, время: 23:24. |