# j-DataSource

> De component loopt gegevens uit de externe bron via de AJAX() methode en bindt de waarde volgens de config.path.

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

De component loopt gegevens uit de externe bron via de `AJAX()`-methode en bindt de waarde volgens de `config.path`.


__Configuratie__:

- `path {String}` __ vereist__ een pad waar de waarde zal worden vastgesteld
- `url {String}` optioneel, een URL voor het verkrijgen van gegevens
- `delay {Number}` optioneel, een vertraging (in milliseconden) voor het verkrijgen van gegevens (default: `0`)

__Goed om te weten__:

- `config.path = '#codelist'` stelt een waarde in code lijsten `DEF.cl.codelist`
- `config.path = '%codelist'` bepaalt een waarde als tijdelijk
- `config.path = '?.path` bepaalt een waarde volgens de plugin pad
- `config.path = 'absolute.path` bepaalt een waarde volgens de route

__Kan ik een dynamische URL gebruiken?__

Ja, u kunt `<ui-component name="datasource" path="..."` gebruiken voor dynamische gegevensverzameling.

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

__Hoe kan ik gegevens wijzigen voordat ik bind?__

```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>
```

Gebruik het met `<ui-component name="datasource">`Wanneer de component nog niet is geladen, jComponent Download het op eerste gebruik van het adres in `DEF.fallback` (De Componentator Schrijver: Peter Širka. bron: de Componentator Componenten repository, MIT licentie.

```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>
```
