79

我正在使用 KnockoutJS 迭代一个对象,如下所示:

现在这一切都有效。但我遇到的问题是它设置的id只是button一个数字。所以它看起来像这样:

<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 可观察的功能......

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

4

4 回答 4

74

今天实际上使用了这个 - 解开我必须做的观察者:

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

希望这可以帮助。

于 2013-12-19T01:13:52.703 回答
58

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

于 2012-09-20T08:23:38.157 回答
29

我认为最好使用 $index 例如

<div data-bind="foreach:Items">
    <button data-bind="text: Name, attr: {id: 'myprefix_' + $index() }"></button>
</div>
于 2013-11-14T19:32:17.137 回答
-1

       <img data-bind="event: {click: $root.afficherDetailmembreFamille}" src="ucc/gestion_Famille/images/arbre-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;">
于 2017-04-19T09:23:38.677 回答