Autor Zpráva
PavV
Profil
Jak naplnit this.pole z JONSu? Klasická proměnná pole se vypvoří bez problémů, ale má-li patřit do třídy JS typ nezná. Jak lze toto vyřešit?

class Media{
    constructor(media, path, id){
        this.medium = media;
        this.path = path;
        this.content = this.medium.nodeName.toLowerCase();
        this.extent = this.content=="audio" ? ".mp3" : ".mp4";
        
        this.pole = new Array();
        test  = new Array();
        $.getJSON( path+"/metadata/sync-"+ this.content +".json", function( data){
            $.each( data, function( key, val ){
                test.push( key);
                 this.pole.push( key);    // vypíše Uncaught TypeError: this.pole is undefined
            })
        });
    });
}    
Kcko
Profil
PavV:
V eachi jsi v jiném kontextu než v tom ve kterém si myslíš. Vypis si v console.log(this) a uvidíš ...

Můžeš si uložiš this do lokální proměnné let that = this nebo si to načtení dej do vlastní metody a jako argument uved právě this.pole

this.fetchData(this.pole);
fetchData(store) { ... }

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0