63 votes

Pourquoi nous utilisons des "?" de l'opérateur dans le modèle de liaison angulaire 2

Je veux juste savoir sur l'utilisation de l' "?" de l'opérateur dans le modèle de liaison angulaire 2.

Comme dans mon projet quand je l'utiliser ?. la liaison fonctionne bien, mais si l'option supprimer, puis il ne veut pas montrer quoi que ce soit dans la vue.

<span class="subhead">{{project?.category}}</span>

Pouvez-vous s'il vous plaît dites-moi la différence, c'est une bonne pratique à utiliser comme de cette façon ou de mauvais.

Merci

79voto

Günter Zöchbauer Points 21340

Lorsque Angulaire rend la vue avant de project obtenu une valeur qui lui est assignée, il provoque une exception. ?. des arrêts de l'évaluation lors de l' project est null ou undefined, ce qui arrive généralement lorsque les données sont extraites asynchrone, par exemple à partir du serveur, ce qui peut prendre un certain temps.

La prochaine fois que la détection de changement reconnaît un changement, les raccourcis vont être ré-évalué. Lors de l' project a alors une valeur, il va se lier project.category.

36voto

echonax Points 2077

? est la sécurité de la navigation de l'opérateur. Il vérifie si la variable est - null ou undefined , de sorte que notre modèle ne vais pas essayer de sélectionner une propriété de quelque chose falsy.

Plus d'infos: https://angular.io/guide/template-syntax#the-safe-navigation-operator----and-null-property-paths

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X