嵌套元素未在淘汰赛中生成:foreach
Nested element not getting generated in knockout :foreach
这是我的 HTML 代码:
<div class="crs-wt-dropbox crs-wt-dropbox-row" data-bind="foreach :rowCols">
<span class="crs-wt-drop-item" data-bind="text: text"> <a class="close-ico" href="#" > </a></span>
</div>
其中 foreach :rowCols
rowCols 将动态更新:
因此,在向 rowCols
添加一些值后,它生成了以下代码
<div class="crs-wt-dropbox crs-wt-dropbox-row" data-bind="foreach :rowCols">
<span class="crs-wt-drop-item" data-bind="text: text">Account</span>
<span class="crs-wt-drop-item" data-bind="text: text">Account number</span>
</div>
但我想知道为什么它没有生成任何锚标记?
您的数据绑定="text: text" 绑定替换了跨度的内部内容。所以你得到 "Account" 文本而不是锚标记。
更新 1
如果我正确理解了您的要求,要克服这种行为,您应该将 "text" 绑定移动到锚元素中:
<span class="crs-wt-drop-item"><a class="close-ico" href="#" data-bind="text: text"></a></span>
更新 2
在我看来,这段代码可以解决任务:
var model = { rowCols: [ { text: 'Item 1'}, { text: 'Item 2'} ] }
ko.applyBindings(model);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div class="crs-wt-dropbox crs-wt-dropbox-row" data-bind="foreach: rowCols">
<span class="crs-wt-drop-item"><a class="close-ico" href="#" data-bind="text: text"></a></span>
</div>
这是我的 HTML 代码:
<div class="crs-wt-dropbox crs-wt-dropbox-row" data-bind="foreach :rowCols">
<span class="crs-wt-drop-item" data-bind="text: text"> <a class="close-ico" href="#" > </a></span>
</div>
其中 foreach :rowCols
rowCols 将动态更新:
因此,在向 rowCols
添加一些值后,它生成了以下代码
<div class="crs-wt-dropbox crs-wt-dropbox-row" data-bind="foreach :rowCols">
<span class="crs-wt-drop-item" data-bind="text: text">Account</span>
<span class="crs-wt-drop-item" data-bind="text: text">Account number</span>
</div>
但我想知道为什么它没有生成任何锚标记?
您的数据绑定="text: text" 绑定替换了跨度的内部内容。所以你得到 "Account" 文本而不是锚标记。
更新 1
如果我正确理解了您的要求,要克服这种行为,您应该将 "text" 绑定移动到锚元素中:
<span class="crs-wt-drop-item"><a class="close-ico" href="#" data-bind="text: text"></a></span>
更新 2
在我看来,这段代码可以解决任务:
var model = { rowCols: [ { text: 'Item 1'}, { text: 'Item 2'} ] }
ko.applyBindings(model);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div class="crs-wt-dropbox crs-wt-dropbox-row" data-bind="foreach: rowCols">
<span class="crs-wt-drop-item"><a class="close-ico" href="#" data-bind="text: text"></a></span>
</div>