# Incluye vistas y recursos

> Reutiliza marcado con @{view()} y añade scripts y estilos con @{import()}.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: es
Content-SHA256: 0edde1da1d8759327ad514d3d13279d3b78dcfe5db86799665ea4a29f1901c67
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`@{view(name, model)}` renderiza otra vista en su lugar, así que las piezas repetidas (una tarjeta, una fila, un pie) viven en un solo fichero. El segundo argumento es el modelo de la vista incluida.

`@{import('a.js', 'a.css')}` escribe las etiquetas `<script>` y `<link>` de los ficheros de `public/js/` y `public/css/`. Enumera varios ficheros unidos con `+` para obtener una etiqueta por fichero.

```html views/card.html
<article class="card"><h2>@{model.title}</h2></article>
```

```html views/index.html
@{layout('')}
@{import('app.js', 'app.css')}
@{foreach item in model.items}
	@{view('card', item)}
@{end}
```

```js controllers/default.js
exports.install = function() {
	ROUTE('GET /', page);
};

function page($) {
	$.view('index', { items: [{ title: 'First' }, { title: 'Second' }] });
}
```
