javascript - 在knockout js中获取数组的第一个元素

标签 javascript knockout.js

我在 knockoutjs 中填充对象数组

我想避免使用 foreach,所以我尝试 data-bind 第一项

如果我使用下面的代码,它工作正常

<div class="loader" data-bind="foreach: Items" >
        <span data-bind="text: name"></span>
    </div>

但如果我使用下面的那个,它就不起作用

<div class="loader">
        <span data-bind="text: Items[0].name"></span>
    </div>

第二种方式有什么错误?

我得到的错误是

Uncaught TypeError: Unable to process binding "text: function (){return Items[0].name }" Message: Cannot read property 'name' of undefined

最佳答案

好吧,您需要展开 observableArray Items 以使用() 符号读取它的内容。

这样试试

<div class="loader">
     <span data-bind="text: Items()[0].name"></span>
</div>

关于javascript - 在knockout js中获取数组的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34152455/

相关文章:

javascript - 将 JQuery 变量/函数转换为 Vanilla JS 变量/函数?

javascript - AngularJS - 访问服务对象的 JS 对象名称/值对时出现类型错误

Dynamics CRM 2011 Outlook 客户端中的 JavaScript 弹出窗口

javascript - 如何在数据绑定(bind) View 中模板化 If-Else 结构?

knockout.js - knockout : partial mapping of arrays

knockout.js - knockout : Complex binding with observable arrays and checkboxes

javascript - 为 foreach 循环内的单选按钮设置默认值 - MVC

javascript - NgRx 效果,出现失败,不接受新 Action

javascript - 如何在ajax成功时将knockout.js可见绑定(bind)设置为true?

javascript - 如何在 Knockout.js 中使用自定义绑定(bind)来添加使用 "foreach"的动画元素