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 -->
是的,就是这样。即时掌心,谢谢!