Javascript 嵌套数组的单个元素上的KnockoutJS foreach

Javascript 嵌套数组的单个元素上的KnockoutJS foreach,javascript,knockout.js,foreach,Javascript,Knockout.js,Foreach,我在一个项目中尝试为给定查询呈现搜索过滤器方面,但规则是这样的,我不能简单地使用嵌套的ko:foreach语句,因为不同的结果集具有不同的显示规则 我正在映射的对象如下所示: FacetResults: ko.observableArray([ { Term: 'myTerm', Values: [{'key1': 5}, {'key2': 13}] }, { Term: 'myTerm2', Values: [{'key3': 6}, {'key4': 42}] }]);

我在一个项目中尝试为给定查询呈现搜索过滤器方面,但规则是这样的,我不能简单地使用嵌套的
ko:foreach
语句,因为不同的结果集具有不同的显示规则

我正在映射的对象如下所示:

FacetResults: ko.observableArray([
{
   Term: 'myTerm',
   Values: [{'key1': 5}, {'key2': 13}]
},
{  Term: 'myTerm2',
   Values: [{'key3': 6}, {'key4': 42}]
}]);
基本上,我想要完成的是

<!-- ko foreach: FacetResults()[0] -->
   <span data-bind="text: Term"></span>
   <ul data-bind="foreach: Values">
    <!-- do something -->
   </ul>
<!-- /ko -->
<span data-bind="text: FacetResults[0]"></span>

但是如果不出现“无法解析绑定”错误,我将无法执行此操作

我能做像这样的事情

<!-- ko foreach: FacetResults()[0] -->
   <span data-bind="text: Term"></span>
   <ul data-bind="foreach: Values">
    <!-- do something -->
   </ul>
<!-- /ko -->
<span data-bind="text: FacetResults[0]"></span>

然后返回“Object Object”,但一旦返回
我相信您正在寻找绑定

with绑定创建一个新的绑定上下文,以便 元素绑定在指定对象的上下文中

这应该对你有用

<!-- ko with: FacetResults()[0] -->
   <span data-bind="text: Term"></span>
   <ul data-bind="foreach: Values">
    <!-- do something -->
   </ul>
<!-- /ko -->


是的,就是这样。即时掌心,谢谢!