Por qué usamos "?"operador en encuadernación de plantilla en angular 2
Solo quiero saber sobre el uso de la"?"operador en encuadernación de plantilla en angular 2.
Como en mi proyecto cuando lo uso ?. el enlace funciona bien, pero si quitarlo luego no muestra nada en la vista.
<span class="subhead">{{project?.category}}</span>
¿Puede decirme la diferencia, es una buena práctica para usar de esta manera o mala.
Gracias
2 answers
Cuando Angular renderiza la vista antes de que project
tenga un valor asignado, causa una excepción. ?.
deja de evaluar cuando project
es null
o undefined
, lo que generalmente sucede cuando los datos se obtienen asincrónicamente, por ejemplo, desde el servidor, lo que puede tomar bastante tiempo.
La próxima vez que la detección de cambios reconozca un cambio, los enlaces serán reevaluados. Cuando project
tenga un valor, se enlazará project.category
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-21 10:04:00
?
es el operador de navegación segura. Comprueba si la variable es null
o undefined
para que nuestra plantilla no intente seleccionar una propiedad de algo falso.
Más información: https://angular.io/guide/template-syntax#the-safe-navigation-operator----and-null-property-paths
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-19 06:17:52