String interpolation es la manera de enviar datos desde nuestro componente hacia la vista. Utilizando el doble símbolo de llaves {{ }}, o también conocidos como brackets, puedes imprimir el valor de una variable, realizar operaciones matemáticas o hacer el llamado a una función dentro del código HTML.
Un componente de Angular se divide en tres archivos: uno para el código TypeScript, otro para el código HTML y uno más para el código CSS.
import{Component}from'@angular/core';@Component({selector:'app-root',templateUrl:'./app.component.html',styleUrls:['./app.component.scss']})exportclassAppComponent{ title ='Hola soy Platzi';}
Angular usa el concepto de decoradores para modificar el comportamiento de las clases. La clase AppComponent implementa el decorador @Component() para indicarle a Angular que esta clase será un componente. Dentro de este decorador, puedes observar el selector del componente (un nombre para el mismo), el template HTML y la hoja de estilos que usará.
Finalmente, dentro de la clase puedes declarar tus propiedades y métodos como en cualquier clase de la programación orientada a objetos. Tenemos una propiedad llamada title que es del tipo string. Podemos mostrar el valor de esta variable en el HTML con una interpolación:
<p>{{ title }}</p>
Es importante que tengas en cuenta la visibilidad de los atributos y métodos de una clase. Si estos llegaran a ser private, no podrás usarlo en el HTML Las variables deben ser públicas para poder ser compartidas al template.
...exportclassAppComponent{// Variable privada, no puede utilizarse en un interpolaciónprivate title ='Hola! soy una variable privada';}
Si estás usando una versión superior de Angular a la del curso (en mi caso la v15.1.0) debes poner la variable de la image entre comillas:
<img src="{{ img }}" alt="imagen random"> así no tendrás error :D
Angular está brutal y las clases de Nicolas muy buenas, uno de mis profes preferidos junto con Diego deGranda, la forma de hablar y expresión realmente hacen la diferencia.
la primera parece que no funciona, en la consola al ejecutar esa linea aparece el error:
DOMException:String contains an invalid character
GEThttp://localhost:4200/{{
si usas la opción 2, con las comillas, funciona sin problema, lo acabo de probar con Angular CLI: 14.1.0, el código en una propiedad, debería llevar comillas o usar la otra notación según esté caso:
Una forma puede ser mover el proyecto. En mi caso desde la ruta: /mnt/c/... no me dejó hacerlo, cuendo moví la carpeta al home de linux y levanté el ng serve, ya se reflejaban los cambios.
app.components.ts = Utilizamos un decorador que le dice a Angular como debe comportarse la clase, e inclusive dice donde será visible nuestro html y scss.
En la clase podemos incluir todas las variables q necesitemos, en un futuro será nuestra conexión a una db.
Una pregunta
Lo que pasa es que cada vez que guardo el codigo me salta un mensaje a un lado que dice lo siguiente:
Failed to save 'app.component.ts': Insufficient permissions. Select 'Retry as Admin' to retry as administrator.
y me salen tres opciones que son:
Retry as admin
Save as
Discard
Yo le doy a la primera, y al parecer compila bien, pero lo que pasa es que cada vez que hago un cambio debo hacer este paso que mencione anteriormente
Intenté colocar una imagen directamente desde internet (tal cual lo haces en el video) pero me aparece un archivo roto, la única manera fue ingresando la imagen dentro de la carpeta assets. ¿A qué creen que se debe esto?
Es que realmente está mal debió ser <img src="{{ image }}" /> o en su defecto y como mejor práctica <img [src]="image" /> que es lo que se ve en la siguiente clase, creo