Toon posts:

[Angular] Hoe kan ik een property van een subobject accessen

Pagina: 1
Acties:

Vraag


  • ThaStealth
  • Registratie: oktober 2004
  • Laatst online: 19-09 09:55
Ik denk een eenvoudige vraag, maar ik weet de goede zoektermen niet;
Neem de volgende code:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
class Setting{
  public name: string;
  public value: number; 
}

class Product{
  public name: string;
  public setting: Setting
}

product: Product;


HTML:
1
2
3
4
5
<div>
{{product["name"]}} //werkt
{{product.setting.value}} //werkt
{{product["setting.value"]}} //werkt niet
</div>


Hoe heet de manier van het accessen van de properties met blokhaken?
Hoe kan ik de property van het subobject op laatste manier bereiken?

Mess with the best, die like the rest

Beste antwoord (via ThaStealth op 12-09-2019 16:32)


  • SPee
  • Registratie: oktober 2001
  • Laatst online: 18:51
Ik zou daar dan een hulp methode voor maken die dan de waarde ophaalt.
Je geeft dan de waardes en de gewenste property mee en in die methode haal je dan de gewenste waarde op.

Of je breidt die column field uit met een extractor die dat per column doet.

let the past be the past.

Alle reacties


  • Klaasvaak
  • Registratie: maart 2010
  • Laatst online: 20:00
De engelse termen zijn dot- en bracket notation.
code:
1
2
3
product["setting"].value
product.setting["value"]
product["setting"]["value"]

  • ThaStealth
  • Registratie: oktober 2004
  • Laatst online: 19-09 09:55
Klaasvaak schreef op donderdag 12 september 2019 @ 10:33:
De engelse termen zijn dot- en bracket notation.
code:
1
2
3
product["setting"].value
product.setting["value"]
product["setting"]["value"]
Er is geen manier om het binnen 1 blokhaak te doen?

Mess with the best, die like the rest


  • Klaasvaak
  • Registratie: maart 2010
  • Laatst online: 20:00
Nee, per blokhaak kan je 1 object / property dieper.

  • ThaStealth
  • Registratie: oktober 2004
  • Laatst online: 19-09 09:55
Okay, misschien moet ik mijn probleem wat verduidelijken, had gehoopt dat ik op een of andere manier toch dieper met in de properties kon komen.

Het is bedoeld dat dit de basis vormt voor een tabelweergave, dus 1 array bevat elementen die de kolomnamen en databinding veldnaam geeft. Een tweede array bevat de dataelementen met de verschillende subproperties.

Ik wil elke rij dus vullen met de properties als volgt:
HTML:
1
2
3
4
5
<tr>
 <td *ngFor="let col of columns">
                {{rowData[col.field]}}
            </td>
</tr>


Dit werkt dus niet als ik subproperties heb, hoe kan ik op deze manier toch de subproperties tonen?

Mess with the best, die like the rest


Acties:
  • Beste antwoord
  • 0Henk 'm!

  • SPee
  • Registratie: oktober 2001
  • Laatst online: 18:51
Ik zou daar dan een hulp methode voor maken die dan de waarde ophaalt.
Je geeft dan de waardes en de gewenste property mee en in die methode haal je dan de gewenste waarde op.

Of je breidt die column field uit met een extractor die dat per column doet.

let the past be the past.


  • Guillome
  • Registratie: januari 2001
  • Niet online
Inderdaad met een functie zoals:
JavaScript:
1
2
3
4
5
6
7
8
function getProp(prop, obj) {
    const splitted = prop.split(".");
    if (splitted.length > 1) {
        const prop = splitted[0];
        return this.getProp(splitted.removeAt(0).join("."), obj[prop]);
    }
    return obj[prop];
}


Even snel een idee

If then else matters!

Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee