J'utilise KnockoutJS pour parcourir un objet, comme ceci:
Maintenant tout cela fonctionne. Mais le problème que j’ai, c’est qu’il définit le id
du button
en un nombre. Alors ça ressemble à ça:
<button id="1">Button 1</button>
<button id="3">Button 2</button>
<button id="8">Button 3</button>
J'ai donc essayé de mettre un préfixe devant la propriété 'Id', comme ceci:
<div data-bind="foreach:Items">
<button data-bind="text: Name, attr: {'id': 'myprefix_' + Id}"></button>
</div>
Mais cela ne semble pas fonctionner. Mon id
se remplit d'une fonction observable de Knockout quand je le fais comme ça ...
Ma question est donc la suivante: comment puis-je ajouter un préfixe lorsque je spécifie l'attribut id
d'un champ?
Si Id
est observable, vous devez le "décompresser": 'myprefix_' + Id()
.
En fait utilisé aujourd'hui - pour dérouler l'observable que je devais faire:
<button data-bind="attr: { id: 'prefix_' + $index() }"> Send </button>
J'espère que cela t'aides.
Je pense qu'il est préférable d'utiliser l'indice $ par exemple
<div data-bind="foreach:Items">
<button data-bind="text: Name, attr: {id: 'myprefix_' + $index() }"></button>
</div>