Конструктор, не могу получить доступ к свойству класса
Добрый день!
Стоит задача - надо сделать класс, который будет реализовывать запрос данных и отрисовку. Но я не могу получить доступ к свойствам класса. Пример ниже.
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, время: 21:46. |