# j-Watcher

> Diese Komponente führt den im Tag <script type='text/js'></script> definierten Code aus.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: de
Content-SHA256: ff2703b27e4b7946a9e642e71a0a15cdeff8890ee060648f5b45f7e78cf4f137
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Diese Komponente führt den im Tag `<script type="text/js"></script>` definierten Code aus.

```html
<script type="text/js">

	// value {Object} a value bound according to the path
	// path {String} a path where the value was bonded
	// type {Number} binding type (0: init, 1: manually, 2: by input, 3: default value)
	// element {jQuery element} a current element
	// datasource {Object}
	// component {jComponent}

</script>
```

__Konfiguration__:

- `delay {Number}` eine Verzögerung für die Codeauswertung (Standard: `0`)
- __NEU__: `datasource {String}` ein Link zur Datenquelle (wird in der `datasource`-Eigenschaft gespeichert)

__WICHTIG__:

Sie müssen `<script type="text/js">` oder `<script type="text/plain">` verwenden. Verwenden Sie das Skriptelement nicht ohne `type` oder mit dem Typ `text|application/javascript`, da das Skript vom Browser automatisch ausgewertet wird.

Verwenden Sie es mit `<ui-component name="watcher">`. Wenn die Komponente noch nicht geladen ist, lädt jComponent sie bei der ersten Verwendung von der Adresse in `DEF.fallback` herunter (standardmäßig das CDN Componentator). Autor: Peter Širka. Quelle: Componentator-Komponenten-Repository, MIT-Lizenz.

```html example.html
<ui-component name="watcher" path="common.value">
	<script type="text/js">
		console.log('-->', value, path, type);
		element.html(value);
	</script>
</ui-component>

<script>
	var common = { value: 'init' };
	setInterval(function() {
		SET('common.value', new Date().format('HH:mm:ss'));
	}, 1000);
</script>
```
