Ich habe eine Frage zum Überprüfen, ob ein Feld im Objekt vorhanden ist.
Ich möchte alle Kategorien drucken, die der Benutzer hat, also mache ich so etwas:
<ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories">
<li>
{{category.name}}
</li>
</ul>
Der Grund? Alle Daten werden RICHTIG gedruckt, aber in der Webkonsole wird folgende Fehlermeldung angezeigt :
Cannot read property 'name' of null
Aber wenn ich so etwas mache wie:
<ul *ngIf="user.categories.length > 0" *ngFor="#category of user.categories">
<li *ngIf="category">
{{category.name}}
</li>
</ul>
Dann ist alles in Ordnung.
Mache ich etwas falsch oder muss ich das jedes Mal überprüfen? Hattest du jemals ein Problem wie dieses?
quelle
ngModel
Bindungen. Es fehlen immer noch die automatisch generierten Eigenschaften von Angular1, die für Client-Server-CRUD-Operationen äußerst praktisch waren.<input type="text" ng-model="category.name" />
und der Name, der null ist, würde automatisch die Eigenschaft name generieren, sobald der Benutzer in das Textfeld eingibt. Ganz zu schweigen davon, dass der Elvis-Operator nicht funktioniert[(ngModel)]
. Wäre schön, es auch dort zu haben.