# j-DataSource

> Die Komponente lädt Daten von der externen Quelle über die AJAX()-Methode und bindet den Wert entsprechend dem config.path.

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

Die Komponente lädt Daten aus der externen Quelle über die Methode `AJAX()` und bindet den Wert gemäß `config.path`.


__Konfiguration__:

- `path {String}` __required__ ein Pfad, in dem der Wert festgelegt wird
- `url {String}` optional, eine URL-Adresse zum Abrufen von Daten
- `delay {Number}` optional, eine Verzögerung (in Millisekunden) für den Datenabruf (Standard: `0`)

__Gut zu wissen__:

- `config.path = '#codelist'` legt einen Wert in den Codelisten `DEF.cl.codelist` fest
- `config.path = '%codelist'` legt einen Wert als temporär fest
- `config.path = '?.path` legt einen Wert entsprechend dem Plugin-Pfad fest
- `config.path = 'absolute.path` legt einen Wert entsprechend dem Pfad fest

__Kann ich eine dynamische URL-Adresse verwenden?__

Ja, Sie können `<ui-component name="datasource" path="..."` zum dynamischen Abrufen von Daten verwenden.

```html
<ui-component name="datasource" path="?.urlcities" config="path:#cities"></ui-component>
```

__Wie kann ich Daten vor dem Binden ändern?__

```html
<ui-component name="datasource" config="url:https://www.yourdomain.com/api/countries/;path:#countries">
	<script type="text/plain">
		var output = [];
		for (var item of value)
			output.push({ id: item.Id, name: item.Name });
		return output;
	</script>
</ui-component>
```

Verwenden Sie es mit `<ui-component name="datasource">`. 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="datasource" config="url:https://www.totaljs.com/dashboard.json;path:#mycodelist">
	<script type="text/plain">
		return value.children;
	</script>
</ui-component>

<ui-bind path="#mycodelist" config="html pre:JSON.stringify(value, null, '  ')" class="block">
	<pre></pre>
</ui-bind>
```
