typescript - keblato/TutorialesTalleres-Angular GitHub Wiki
Nota: Los ejemplos se van a desarrollar utilizando stackblitz |
---|
Cree un proyecto nuevo en stackblitz seleccionando TypeScript Blank Project
. En realidad el proyecto que se crea no está vacío. Ya contiene tres siguientes archivos: index.html
, index.ts
y style.css
.
Archivo | Descripción |
---|---|
style.css |
Define un estilo básico para el tag h1 |
index.html |
Tiene un tag div identificado con "app" . Es el tag principal de la aplicación base. El identificador del tag es muy importante porque con él vamos a acceder al elemento y lo vamos a poder manipular utilizando las funciones predefinidas de manejo de la representación DOM (Document Object Model) dele archivo html. |
index.ts |
Es un archivo que contiene código escrito en typescript (ts). En este ejemplo, lo que hace este código es obtener el elemento identificado por "app" y agregarle un nuevo elemento h1 con el mensaje TypeScript Starter . |
// Import stylesheets
import './style.css';
// Write TypeScript code!
const appDiv: HTMLElement = document.getElementById('app');
appDiv.innerHTML = `<h1>TypeScript Starter</h1>`;
Las instrucciones son:
- Importar los estilos definidos en el archivo local
style.css
- Declarar una constante llamada
appDiv
cuyo tipo es un tipo predefinido llamadoHTMLElement
. A la constante le asigna de valor el elemento del archivoindex.html
que está identificado conapp
.
Las cosas básicas que se puede hacer con los elementos de tipo HTMLElement
son :
- obtener el valor de los elementos
- obtener propiedades de los elementos y del documento
- cambiar el valor de los elementos
- crear elementos
- borrar elementos
En este ejemplo se modifica el elemento Html agregándole un nuevo elemento <h1>TypeScript Starter</h1>
. Podemos cambiar el texto dentro de las etiquetas h1
por "Hola Mundo" y tendremos nuestro primer "Hola Mundo" en Html-Typescript.
El siguiente ejemplo muestra otras manipulaciones del DOM:
En este ejemplo veremos más manipulaciones del DOM, la definición/llamado de una función y una variable numérica.
El objetivo es crear una página con un botón que cada vez que se le haga clic cree un nuevo botón con la palabra Hola
y un número que indica el número de veces que se ha hecho clic. La imagen muestra la idea:
Para desarrollar el ejemplo empezamos creando en stackblitz
un proyecto en blanco Typescript
.
Al archivo index.html
le agregamos un elemento para crear el primer botón. Note que este botón tiene un identificador llamado "btn-tryButton"
:
<div id="app">
<p>Clic en el botón para crear un nuevo botón</p>
<button id="btn-tryButton">Clic</button>
</div>
El código TypeScript consiste de:
- La declaración de una constante que contendrá el botón inicial.
- La declaración de una variable de tipo numérico (
number
) que arranca en cero y que se incrementará cada vez que se haga clic. - Una instrucción para que sea ejecutada cada vez que se hace clic al botón. Esta instrucción invoca la función que está definida más adelante
newButton()
. - La declaración de la función
newButton()
, que crea un nuevo botón, le asigna de texto la palabra hola y el contador y se lo asigna al elemento principal del Html.
// Import stylesheets
import './style.css';
const appDiv: HTMLElement = document.getElementById('app');
const btnNewButton: HTMLElement = document.getElementById('btn-tryButton');
var clickCount: number = 0;
btnNewButton.onclick = () => newButton();
function newButton() {
clickCount++;
var btn = document.createElement("BUTTON");
btn.textContent = "Hola "+clickCount;
appDiv.appendChild(btn);
}
- Modificar los dos archivos del
index(.ts y .htlm)
para que los nuevos botones se generen verticalmente (debajo del botón inicial).
Ver la Solución |
---|
- Agregar una función al archivo
index.ts
que aumenta el valor numérico de los botones generados al hacerles clic. Por ejemplo si el botón diceHola 1
después de hacerle clic debe decirHola 2
.
Ver la Solución |
---|
- Modificar el desafío inicial para que solo el ultimo botón creado pueda crear un nuevo botón.
Ver la Solución |
---|