使用包含前缀的knockoutjs设置id属性

我使用KnockoutJS遍历一个对象,如下所示:

现在这一切工作。 但是我遇到的问题是它将buttonid设置为一个数字。 所以看起来像这样:

 <button id="1">Button 1</button> <button id="3">Button 2</button> <button id="8">Button 3</button> 

所以我试图在“Id”属性前加一个前缀,就像这样:

 <div data-bind="foreach:Items"> <button data-bind="text: Name, attr: {'id': 'myprefix_' + Id}"></button> </div> 

但是,这似乎并没有工作。 当我这样做时,我的id被充满了Knockout可观察的function…

所以我的问题是,我如何添加一个前缀,当我指定一个字段的id属性?

如果Id是可观察的,则必须“解包”它: 'myprefix_' + Id()

实际上今天使用这个 – 解开我必须要做的事情:

 <button data-bind="attr: { id: 'prefix_' + $index() }"> Send </button> 

希望这可以帮助。

例如,我认为最好使用$ index

 <div data-bind="foreach:Items"> <button data-bind="text: Name, attr: {id: 'myprefix_' + $index() }"></button> </div> 
  <img data-bind="event: {click: $root.afficherDetailmembreFamille}" src="ucc/gestion_Famillehttp://img.dovov.comarbre-fleche-off.png" /> <label data-bind=" text: nom"></label> <label data-bind=" text: prenom, click: $root.afficherDetailmembreFamille"></label> <br> <div data-bind="attr: {'id': 'DivMembreFamille'+id}" style="margin-left: 40px; display: none;">