{"id":3553,"date":"2018-01-05T16:06:41","date_gmt":"2018-01-05T16:06:41","guid":{"rendered":"http:\/\/pensemosweb.com.mx\/index.php\/2018\/01\/05\/como-usar-expresiones-interpolacion-property-binding\/"},"modified":"2024-04-06T01:42:08","modified_gmt":"2024-04-06T07:42:08","slug":"como-usar-expresiones-interpolacion-property-binding","status":"publish","type":"post","link":"https:\/\/pensemosweb.com\/en\/como-usar-expresiones-interpolacion-property-binding\/","title":{"rendered":"How to use Expressions in Angular Interpolation and Property Binding?"},"content":{"rendered":"<p>Es importante saber que son las expresiones de plantillas, estas se utilizan en las interpolaciones y en el Enlazado de propiedades (Property Binding).<\/p>\n\n\n\n<p>Cuando creas un componente, se utiliza HTML para crear su plantilla, esto es bueno, no tienes que aprender mucho de otra sintaxis para plantillas, aun as\u00ed angular incorpora una peque\u00f1a sintaxis, que, aunque pueda ser nueva, es de gran utilidad y en esta publicaci\u00f3n veremos expresiones de Javascript, interpolaci\u00f3n y property binding en las plantillas de angular.<\/p>\n\n\n\n<p>En las plantillas de angular cualquier elemento HTML es valido, a excepci\u00f3n de elementos como <code>&lt;html&gt;<\/code>, <code>&lt;head&gt;<\/code>, <code>&lt;base&gt;<\/code>, los cuales no tiene que estar en una plantilla de angular porque las plantillas de angular se <em>&#8220;dibujan&#8221;<\/em>dentro de la etiqueta <code>&lt;body&gt;<\/code>.<\/p>\n\n\n\n<p>Otra excepci\u00f3n de suma importancia es la etiqueta <code>&lt;script&gt;<\/code>, esta etiqueta no se debe usar en las plantillas por el riesgo que se corre a ataques de <a href=\"https:\/\/es.wikipedia.org\/wiki\/Cross-site_scripting\">XSS<\/a>. Afortunadamente Angular previene XSS a trav\u00e9s de sanitizaci\u00f3n, esta t\u00e9cnica convierte texto potencialmente ejecutable (c\u00f3digo no deseado) a texto totalmente seguro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"qusonlasexpresionesdeplantillas\">\u00bfQu\u00e9 son las expresiones de plantillas?<\/h2>\n\n\n\n<p>Las expresiones de plantillas no son m\u00e1s que expresiones de Javascript normales con ciertas limitaciones. Veamos dos ejemplos:<\/p>\n\n\n\n<p>En Interpolaci\u00f3n se utiliza la sintaxis <code>{{expresion}}<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;h3&gt;2 + 2 es igual a {{2 + 2}}&lt;\/h3&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\">2 + 2 es igual a <\/span><span style=\"color: #89DDFF\">{{<\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #F07178\"> + <\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #89DDFF\">}}&lt;\/<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>El resultado es:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;h3&gt;2 + 2 es igual a 4&lt;\/h3&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\">2 + 2 es igual a 4<\/span><span style=\"color: #89DDFF\">&lt;\/<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>En enlazado de propiedades se utiliza la sintaxis <code>[propiedad]=\"expresion\"<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;h2 [hidden]=&quot;oculto&quot;&gt;Ejemplo Enlazado de propiedades&lt;\/h2&gt;&lt;input [hidden]=&quot;oculto&quot; value=&quot;Este es un input oculto&quot;&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\"> [hidden]=&quot;oculto&quot;&gt;Ejemplo <\/span><span style=\"color: #C792EA\">Enlazado<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">of<\/span><span style=\"color: #89DDFF\"> propiedades&lt;\/h2&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;input [hidden]=&quot;oculto&quot; <\/span><span style=\"color: #C792EA\">value<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Este es un input oculto<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>En el ejemplo, debido que la propiedad <code>oculto<\/code>es un boleano igual a <code>true<\/code>, el <code>h2<\/code>y el <code>input<\/code>permanecen ocultos. El mismo resultado se obtiene si usamos el comparador de igualdad:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;h2 [hidden]=&quot;oculto === true&quot;&gt;Ejemplo Enlazado de propiedades&lt;\/h2&gt;&lt;input [hidden]=&quot;oculto === true&quot; value=&quot;Este es un input oculto&quot;&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\"> [hidden]=&quot;oculto === true&quot;&gt;Ejemplo <\/span><span style=\"color: #C792EA\">Enlazado<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">of<\/span><span style=\"color: #89DDFF\"> propiedades&lt;\/h2&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;input [hidden]=&quot;oculto === true&quot; <\/span><span style=\"color: #C792EA\">value<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Este es un input oculto<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Vemos que dentro de la sintaxis de doble llaves existe una operaci\u00f3n de suma y usamos el operador de igualdad en <code>oculto === true<\/code>, es decir, podemos utilizar <strong>Expresiones de Javascript<\/strong>en nuestras plantillas, aunque podemos utilizar expresiones de Javascript, no todo est\u00e1 permitido.<\/p>\n\n\n\n<p>Las expresiones Javascript que producen efectos colaterales no se deben utilizar y NO est\u00e1n permitidas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Las asignaciones (<code>=<\/code>,<code>+=<\/code>,<code>-=<\/code>, <code>*=<\/code>, etc)<\/li>\n\n\n\n<li>El operator <code>new<\/code><\/li>\n\n\n\n<li>Las Expresiones consecutivas con <code>;<\/code>either <code>,<\/code>. Ejemplo <code>{{1+1;2+2}}<\/code><\/li>\n\n\n\n<li>Los operadores <code>++<\/code>and <code>--<\/code><\/li>\n\n\n\n<li>Los operadores a nivel de bits <code>|<\/code>and <code>&amp;<\/code><\/li>\n<\/ul>\n\n\n\n<p>Una caracter\u00edstica importante en las expresiones de plantillas y que es distinta de las expresiones Javascript normales es que se pueden utilizar los siguientes operadores, pero ojo, no son operadores a nivel de bits:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Operador de Tuberia <code>|<\/code><\/li>\n\n\n\n<li>Operador de Guardia contra valores null o indefinidos, muy util en acceso a datos, <code>?.<\/code><\/li>\n\n\n\n<li>Operador para vereficar referencia NO Nulla, <code>!<\/code><\/li>\n<\/ul>\n\n\n\n<p>Estos tres \u00faltimos operadores los veremos a detalle en otra publicaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"interpolacin\">Interpolaci\u00f3n<\/h2>\n\n\n\n<p>La interpolaci\u00f3n nos permite obtener informaci\u00f3n en una aplicaci\u00f3n, genera un <strong>enlace<\/strong>con el origen de la informaci\u00f3n, es decir, si los datos de origen cambian, la interpolaci\u00f3n actualiza ese cambio en la vista. En otras palabras, reacciona al cambio de datos.<\/p>\n\n\n\n<p>Ejemplo, contenido de <strong>src\/app\/app.component.html<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;div&gt;  &lt;h2&gt;Hola {{nombre}}&lt;\/h2&gt;  &lt;h2&gt;{{&quot;cadena&quot;.split('').reverse().join('')}}&lt;\/h2&gt;  &lt;h2&gt;{{false ? 'SI' : 'NO'}}&lt;\/h2&gt;  &lt;img src=&quot;{{logo}}&quot;&gt;  &lt;h3&gt;2 + 2 es igual a {{2 + 2}}&lt;\/h3&gt;  &lt;h2 [hidden]=&quot;oculto&quot;&gt;Ejemplo Enlazado de propiedades&lt;\/h2&gt;  &lt;input [hidden]=&quot;oculto&quot; value=&quot;Este es un input oculto&quot;&gt;  &lt;h2 [hidden]=&quot;oculto === true&quot;&gt;Ejemplo Enlazado de propiedades&lt;\/h2&gt;  &lt;input [hidden]=&quot;oculto === true&quot; value=&quot;Este es un input oculto&quot;&gt;  &lt;button (click)=&quot;cambiarNombre()&quot;&gt;Voltear nombre&lt;\/button&gt;&lt;\/div&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">div<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\">Hola <\/span><span style=\"color: #89DDFF\">{{<\/span><span style=\"color: #BABED8\">name<\/span><span style=\"color: #89DDFF\">}}&lt;\/<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\">&gt;{{<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #F07178\">cadena<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #F07178\">.split(<\/span><span style=\"color: #89DDFF\">&#39;&#39;<\/span><span style=\"color: #F07178\">).reverse().join(<\/span><span style=\"color: #89DDFF\">&#39;&#39;<\/span><span style=\"color: #F07178\">)}}&lt;\/h2&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F07178\">  &lt;h2&gt;{{false ? <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #F07178\">SI<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #F07178\"> <\/span><span style=\"color: #89DDFF\">:<\/span><span style=\"color: #BABED8\"> <\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #C3E88D\">NO<\/span><span style=\"color: #89DDFF\">&#39;<\/span><span style=\"color: #89DDFF\">}}&lt;\/<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">img<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">src<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">{{logo}}<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\">2 + 2 es igual a <\/span><span style=\"color: #89DDFF\">{{<\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #F07178\"> + <\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #89DDFF\">}}&lt;\/<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\"> [hidden]=&quot;oculto&quot;&gt;Ejemplo <\/span><span style=\"color: #C792EA\">Enlazado<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">of<\/span><span style=\"color: #89DDFF\"> propiedades&lt;\/h2&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">  &lt;input [hidden]=&quot;oculto&quot; <\/span><span style=\"color: #C792EA\">value<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Este es un input oculto<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h2<\/span><span style=\"color: #89DDFF\"> [hidden]=&quot;oculto === true&quot;&gt;Ejemplo <\/span><span style=\"color: #C792EA\">Enlazado<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">of<\/span><span style=\"color: #89DDFF\"> propiedades&lt;\/h2&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">  &lt;input [hidden]=&quot;oculto === true&quot; <\/span><span style=\"color: #C792EA\">value<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Este es un input oculto<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #BABED8\">  <\/span><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">button<\/span><span style=\"color: #89DDFF\"> (click)=&quot;cambiarNombre()&quot;&gt;Voltear nombre&lt;\/button&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;\/div&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Ejemplo en acci\u00f3n, revisa el archivo <strong>src\/app\/app.component.ts<\/strong>:<\/p>\n\n\n\n<p><iframe src=\"https:\/\/stackblitz.com\/github\/jaimeCervantes\/angular-template-interpolation?embed=1&amp;file=src\/app\/app.component.ts&amp;view=editor#full\"><\/iframe><\/p>\n\n\n\n<p>En el ejemplo tenemos un componente llamado <code>my-app<\/code>definido en el archivo <strong>src\/app\/app.component.ts<\/strong>, la plantilla del componente est\u00e1 definida en la propiedad <code>templateUrl<\/code>del decorador <code>@component<\/code>, carga un arhivo html externo.<\/p>\n\n\n\n<p>Podemos ver que cuando damos clic en el bot\u00f3n <em>Voltear texto<\/em>la propiedad <code>name<\/code>es cambiada invirtiendo los caracteres, se invierte los caracteres a trav\u00e9s del m\u00e9todo <code>cambiarNombre<\/code>. Y la reacci\u00f3n a este cambio esta enlazado con la interpolaci\u00f3n <code>{{nombre}}<\/code>.<\/p>\n\n\n\n<p>Tambi\u00e9n se puede utilizar interpolaci\u00f3n en atributos, en el ejemplo anterior para mostrar la imagen se utiliz\u00f3:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;img src=&quot;{{logo}}&quot;&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">img<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">src<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">{{logo}}<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Otro ejemplo:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;h3&gt;2 + 2 es igual a {{2 + 2}}&lt;\/h3&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><span style=\"color: #BABED8\">2 + 2 es igual a <\/span><span style=\"color: #89DDFF\">{{<\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #F07178\"> + <\/span><span style=\"color: #F78C6C\">2<\/span><span style=\"color: #89DDFF\">}}&lt;\/<\/span><span style=\"color: #F07178\">h3<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dedndeseobtienenlosvaloresdelasexpresionesdeplantilla\">\u00bfDe d\u00f3nde se obtienen los valores de las expresiones de plantilla?<\/h2>\n\n\n\n<p>Normalmente los valores estan definidos en el componente como vimos en el anterior ejemplo, <code>name<\/code>and <code>logo<\/code>est\u00e1n definidos como miembros de la clase y en el constructor se les define su valor.<\/p>\n\n\n\n<p>Pero tambi\u00e9n se puede definir propiedades en el contexto de la plantilla llamadas <em>variables de plantillas<\/em>, existen dos tipos de estas variables:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Variables de input<\/li>\n\n\n\n<li>Variables de referencia<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"variablesdeinput\">Variables de input<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;div *ngFor=&quot;let persona of gente&quot;&gt;  &lt;h3&gt;{{persona.nombre}}&lt;\/h3&gt;&lt;\/div&gt;\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">div<\/span><span style=\"color: #89DDFF\"> *ngFor=&quot;let <\/span><span style=\"color: #C792EA\">person<\/span><span style=\"color: #89DDFF\"> <\/span><span style=\"color: #C792EA\">of<\/span><span style=\"color: #89DDFF\"> gente&quot;&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">  &lt;h3&gt;{{persona.nombre}}&lt;\/h3&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">&lt;\/div&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><code>person<\/code>es la variable de input usada en la directiva <code>*ngFor<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"variablesdereferencia\">Variables de referencia<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#0F111A\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;input #varReferencia value=&quot;Hola&quot;&gt;{{varReferencia.value}}\" style=\"color:#babed8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki material-theme-ocean\" style=\"background-color: #0F111A\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #89DDFF\">&lt;<\/span><span style=\"color: #F07178\">input<\/span><span style=\"color: #89DDFF\"> #varReferencia <\/span><span style=\"color: #C792EA\">value<\/span><span style=\"color: #89DDFF\">=<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #C3E88D\">Hola<\/span><span style=\"color: #89DDFF\">&quot;<\/span><span style=\"color: #89DDFF\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #89DDFF\">{{<\/span><span style=\"color: #BABED8\">varReferencia.value<\/span><span style=\"color: #89DDFF\">}}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>En este otro caso se ocupa el car\u00e1cter <code>#<\/code>y luego el nombre de la variable de referencia que deseas crear. Con esto se puede utilizar la variable en interpolaci\u00f3n como se ve en <code>{{varReferencia.value}}<\/code>.<\/p>\n\n\n\n<p><iframe src=\"https:\/\/stackblitz.com\/github\/jaimeCervantes\/angular-template-variables?ctl=1&amp;embed=1&amp;file=src\/app\/app.component.ts&amp;view=editor#full\"><\/iframe><\/p>\n\n\n\n<p>La jerarqu\u00eda o prioridad del valor final obtenido en las expresiones de plantillas es as\u00ed:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Variables en plantilla, input y de referencia.<\/li>\n\n\n\n<li>Directivas<\/li>\n\n\n\n<li>Componentes<\/li>\n<\/ol>\n\n\n\n<p>Para ilustrar la prioridad, veamos el ejemplo, en la parte donde se utiliza la directiva <code>*ngFor<\/code>para recorrer el arreglo <code>gente<\/code>, ah\u00ed se define una variable de input <code>person<\/code>, y despu\u00e9s se accede a la propiedad nombre de cada persona, podemos notar que debido a la jerarqu\u00eda arriba listada se tomo primero en cuenta la variable de plantilla <code>person<\/code>antes que el miembro <code>person<\/code>del componente. El miembro <code>person<\/code>es un string <em>&#8220;soy otra persona&#8221;<\/em>y nunca se imprime dentro de la lista de personas.<\/p>\n\n\n\n<p>Cuando uses una expresi\u00f3n de plantilla, sigue estos consejos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Tu expresi\u00f3n debe ser r\u00e1pida de ejecutar porque no va a ser la \u00fanica en toda tu plantilla. Si es necesario, considera guardar los resultados de las expresiones que se van a utilizar varias veces en la plantilla y asi la expresion no se ejecuta varias veces.<\/li>\n\n\n\n<li>Utiliza el principio de mantener todo est\u00fapidamente simple, no uses complejas expresiones porque genera mucho ruido en la plantilla, para expresiones m\u00e1s complejas utiliza la clase del componente, y a\u00fan ah\u00ed considera el principio KISS (Keep It Simple, Stupid).<\/li>\n\n\n\n<li>Investiga el funcionamiento de detecci\u00f3n de cambios de angular para mantener tus expresiones lo m\u00e1s eficientes posibles, en una futura publicaci\u00f3n explicar\u00e9 la detecci\u00f3n de cambios y como nos ayuda a mejorar el rendimiento de nuestro aplicaci\u00f3n.<\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>        Es importante saber que son las expresiones de plantillas, estas se utilizan en las interpolaciones y en el Enlazado de propiedades (property binding)<\/p>","protected":false},"author":2,"featured_media":3754,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[23],"tags":[40,54,68],"class_list":["post-3553","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular","tag-angular","tag-javascript","tag-intermedio"],"_links":{"self":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts\/3553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/comments?post=3553"}],"version-history":[{"count":2,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts\/3553\/revisions"}],"predecessor-version":[{"id":3842,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts\/3553\/revisions\/3842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/media\/3754"}],"wp:attachment":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/media?parent=3553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/categories?post=3553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/tags?post=3553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}