Javascript 敲除js$index()似乎不起作用

Javascript 敲除js$index()似乎不起作用,javascript,knockout.js,Javascript,Knockout.js,我正在使用下面的代码打印div的id。但是$index()似乎不起作用 <div data-bind="foreach: itemRows"> <div class="fruitList" data-bind="foreach: $data"> <div data-bind="attr: { 'id': 'uniqueName_' + $index() }"> <

我正在使用下面的代码打印div的id。但是$index()似乎不起作用

<div data-bind="foreach: itemRows">
           <div class="fruitList" data-bind="foreach: $data">
                <div data-bind="attr: { 'id': 'uniqueName_' + $index() }">
                    <img data-bind="attr: { src: $data }" />
                 </div>
           </div>
        </div>

任何建议

更新: 呈现的HTML具有以下特性

<div id="uniqueName_NaN" data-bind="attr: { 'id': 'uniqueName_' + ($parent.index +   

  $data.index) }">


身份证没有出现。。我遗漏了什么吗?

应该是$index,所以没有()


如果要使用两个循环中的索引,则需要访问父上下文。索引存储在上下文对象中,而不是
$data

<div data-bind="foreach: itemRows">
    <div class="fruitList" data-bind="foreach: $data">
        <div data-bind="attr: { 'id': 
                'uniqueName_' + $parentContext.$index() + '_' + $index() }">
            <img data-bind="attr: { src: $data }" />
        </div>
    </div>
</div>


由于您的文件位于嵌套的foreach中,因此可能需要父文件的索引。尝试使用“uniqueName”+$parent.index+'+$data.indexi我无法在html中看到id
我也尝试过,现在呈现的div没有id attr only您是否收到任何javascript错误?您的评论中的id键缺少引号。此答案错误
$index
是可观察的,因此必须使用函数语法进行访问。如果您想从外部循环获取索引,那么它将是
$parentContext.$index()
您的id生成代码应该可以使用:
data bind=“attr:{'id':'uniqueName_'+$index()}”
。在数据绑定中,呈现的HTML与原始HTML不匹配,这是您的问题。您有可能接受我给出的答案吗?
<div data-bind="foreach: itemRows">
    <div class="fruitList" data-bind="foreach: $data">
        <div data-bind="attr: { 'id': 
                'uniqueName_' + $parentContext.$index() + '_' + $index() }">
            <img data-bind="attr: { src: $data }" />
        </div>
    </div>
</div>