如何只显示foreach循环绑定中的第一个元素
How to only show only the first element in foreach loop binding?
我使用的是knockout-2.2.0.js。我在observableArray上创建了一个foreach循环绑定,我想只显示数组中的第一个元素。为此,我尝试了:(都不工作)
首先 <!-- ko foreach: myArray -->
<span data-bind="text: $data, visible: $index == 0"></span>
<!-- /ko -->
第二
<span data-bind="text: myArray[0]"></span>
我知道有一个_destroy
属性,如果在任何数组元素上设置,该元素将被排除在UI的foreach循环绑定之外。但我不想在我的情况下使用它。谁能告诉我我哪里做错了?
你做对了。但是你在两个例子中都忘了把()
提出来。
myArray
是一个可观察数组,$index
是一个可观察对象,所以它们是函数,所以你需要用()
调用它们作为函数,以获得它们在表达式中的值。
<!-- ko foreach: myArray -->
<span data-bind="text: $data, visible: $index() == 0"></span>
<!-- /ko -->
和
<span data-bind="text: myArray()[0]"></span>
JSFiddle演示。
注意:如果你真的只想显示第一项,那么你应该选择text: myArray()[0]
版本,因为它更清晰,你正在尝试做的
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 在javascript数组中推送多个值并获取第一个元素
- Angular js将只显示ng repeat中的第一个元素
- 使用+=运算符未定义对象中的第一个元素
- javascript window.addEventListener,覆盖了第一个元素的配置
- 如何访问 JSON 对象数组的第一个元素
- 第一个元素和最后一个元素之间的连续循环
- 要插入二叉树的第一个元素,请将其放在左边还是右边
- 向下滚动时覆盖页面的第一个元素或块
- 数组未发送所有元素,只获取第一个元素
- 创建每个数组的第一个元素的数组
- 只显示ng重复的第一个元素
- CKEditor:以小部件作为第一个元素,选择所有在Chrome中不工作的
- 从Web视图上显示的页面部分获取第一个元素
- 有没有更好的方法来访问用JQuery选择器选择的第一个元素
- JQuery验证仅适用于提交的表单中的第一个元素.[打算验证所有内容]
- jQuery导航菜单没有't更新第一个元素
- jQuery如何删除第一个元素前的逗号
- 如何获取数组第一个元素的范围
- 使用 Dart 时,我正在创建一个点击事件的 DOM 类.它只拾取第一个元素,我如何让它在所有元素上发射