javascript - 为行 knockout 创建标题

标签 javascript jquery knockout.js knockout-2.0

我在创建命名行的方法时遇到问题。行号存储在数据库中,我基本上希望它就像如果行号为 1,则标题为“联系信息”。目前我有这个,它可以工作,但会导致困惑的标记,因为将有 12 行带有标题。

<!-- ko if: {{ row }} === 1 -->
    <h4>Contact Information</h4>
<!-- /ko -->
<!-- ko if: {{ row }} === 3 -->
    <h4>Opening Times</h4>
<!-- /ko -->
<!-- ko if: {{ row }} === 5 -->
    <h4>Company Details</h4>
<!-- /ko -->

我正在尝试在数据绑定(bind)中执行此操作,我已经从这里开始

<h4 data-bind: visible: hasHeaderForRow($data, {{ row }}, text: headerTextForRow($data, {{ row }}))></h4>

但无法弄清楚如何创建模型来使其工作。

最佳答案

我建议您使用旧的 $index() 来解决您的问题。 您应该将数组 rowTitles 添加到您的 View 模型以及 getTitleForRow 方法。

例如

rowTitles: ['Contact Information', 'Opening Times', 'Company Details' ],

getTitleForRow: function (index) {
  return this.rowTitles[index];
}

在这种情况下,您的标记应如下所示:

<div data-bind="foreach: rows">
  <h4 data-bind="text: $parent.getTitleForRow($index())"></h4>
</div>

如果从后端获取 rowTitles 数组,您应该将其设为可观察数组并用来自服务器的数据填充它。

关于javascript - 为行 knockout 创建标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515236/

相关文章:

javascript - 尝试学习 addEventListener 但我的代码不起作用

javascript - 表格标题不会滚动到页面顶部之外?

javascript - Knockout JS - 根据可观察字段设置表格宽度

javascript - 响应表在填充时会失去响应能力

javascript - 关闭弹出窗口后将页面返回到原始 scrollTop 位置

knockout.js - 带 throttle 的 knockout 验证

javascript - knockout 可观察不是一个函数

javascript - 如何在casperJS中设置cookie

javascript - 在 Javascript 中渲染大矩阵 (1000*1000)

javascript - 有没有办法将产品价格分配给 Javascript 中的变量?