j-Duplicator
BETA VERSÃO. Este componente é um componente especial porque pode duplicar o mesmo conteúdo várias vezes com uma fonte de dados difere. Imaginar alguns editores de texto com tabas que cada guia contém conteúdo diferente. j-DuplicatorSiga o exemplo.
Configuração:
datasource{Array} deve conter uma série de conteúdos para duplicarurl{String} opcional, pode conter um link paratemplatesemJavaScript
Bom para saber:
Este componente adiciona a função .scopename() a cada item do Array para o gerenciamento de âmbito e cada conteúdo é inserido no independente scope com referência direta à fonte principal.
Modelo Avançado
<ui-component name="duplicator" path="mytab" config="datasource:tabs" class="invisible">
<script type="text/html" data-id="PRODUCT">
<ui-component name="input" path="?.name">Name</ui-component>
</script>
<script type="text/html" data-id="USER">
<ui-component name="input" path="?.age">Age</ui-component>
</script>
<!-- DYNAMIC -->
<script type="text/html" data-id="ORDER" data-url="/templates/orders.html"></script>
</ui-component>
<script>
// All tabs
var tabs = [];
tabs.push({ template: 'PRODUCT', name: 'iPhone X' });
tabs.push({ template: 'USER', age: 30 });
tabs.push({ template: 'ORDER', price: 324 });
// Choose a default open tab
var mytab = tabs[0];
</script>Use-o com <ui-component name="duplicator">Quando o componente ainda não está carregado, jComponent Descarrega-o no primeiro uso do endereço DEF.fallback (a partir do Componentator CDN por padrão). autor: Peter Širka. fonte: o Componentator Reserva de componentes, licença MIT.
<ui-bind path="tabs" config="template;click span:choosetab" class="block">
<script type="text/html">
{{ foreach m in value }}
<span data-index="{{ $index }}" class="mr5 link">{{ $index + 1 }}</span>
{{ end }}
</script>
</ui-bind>
<h2>Duplicator</h2>
<ui-component name="duplicator" path="mytab" config="datasource:tabs" class="invisible">
<script type="text/html">
<ui-component name="input" path="?.name">Name</ui-component>
</script>
</ui-component>
<script>
var tabs = [];
tabs.push({ name: 'Peter' });
tabs.push({ name: 'Lucka' });
tabs.push({ name: 'Betka' });
function choosetab(el) {
var index = +el.attrd('index');
SET('mytab', tabs[index]);
}
// Default tab
SET('mytab', tabs[0]);
</script>