J'essaie de créer un composant de pagination, de sorte que dans mes listes, je n'ai pas besoin de répéter beaucoup de code. J'utilise aussi Angular 2 dans la saveur ES5. Ainsi voici mon code:Liaison bidirectionnelle angulaire 2 pour un type complexe de composant personnalisé
app.pagingComponent = ng.core.Component({
templateUrl: '/pathToPagingHtml',
selector: 'paging',
inputs: ['listParameters']
}).Class({
constructor: function() {
}
});
Et voici comment je l'utilise:
<paging [listParameters]="listParameters"></paging>
Et bien sûr, je suis sur le point d'améliorer en données dans les deux sens de liaison (banane dans la syntaxe encadré) suivre:
<paging [(listParameters)]="listParameters"></paging>
Mais comme je change listParameters
dans le composant parent, rien ne change à l'intérieur du composant enfant, qui a une syntaxe interplation dans le code HTML de modèle. S'il vous plaît noter que listParameters
est un objet, pas une simple propriété, et j'ai
Qu'est-ce qui ne va pas?
Mise à jour:
Voici comment il est utilisé dans d'autres composants, disons par exemple, la liste des employés:
<table id='employeesList'>
<!-- showing the list here -->
</table>
<paging [(listOptions)]="listOptions"></paging>
listOptions
a ces propriétés: pageNumber
, pageSize
, sorts
qui est un tableau, et filters
qui est un tableau aussi.
Que devrait changer dans le composant de l'enfant? S'il vous plaît donner plus de détails – echonax
@echonax, dans le composant enfant nous avons ' {{listOptions.pageNumber}}' par exemple. Ça ne montre rien. –
@SaeedNeamati comment pouvons-nous savoir ce qui ne va pas si vous n'incluez pas les détails? :-) Le composant de pagination est-il l'enfant ou le parent? – echonax