我用bootstrap“collapse”功能自己解决了这个问题。
“数据目标”是对敲除计算值的绑定,我从当前父项的ITEM ID获得该数据。
以下是在HTML代码(我使用DIV亲子表示和超链接属性切换儿童的):
'<!-- ko foreach: modelyears -->
<div>
<table>
<tr>
<td >
<a href="#" data-toggle="collapse" data-bind="attr: {'id': child_id, 'data-target' : data_target }">
<span data-bind="text: modelyear_name" ></span>
</a>
</td>
</tr>
</table>
</div>
<!-- ko foreach: projects -->
<div data-bind="css: project_classname">
<table>
<tr>
<td></td>
<td colspan="2">
<div>
<span data-bind="text: project_name"></span>
</div>
</td>
</tr>
</table>
</div>
<!-- /ko -->
<!-- /ko -->
</div>'
敲除变量“child_id”和“数据对象”和“ project_classname”,其中在淘汰赛模型计算:
// compute "project_classname"
this.project_classname = ko.computed(function() {
return "collapse row" + self.project_modelyear_itemid();
}, this);
// compute "child_id"
this.child_id = ko.computed(function()
{
return "row" + self.modelyear_itemid();
}, this);
// compute "data_target"
this.data_target = ko.computed(function()
{
return ".row" + self.modelyear_itemid();
}, this);
希望它可以帮助别人那里;-)
代码看起来不错。所有你需要的是注入一些引导扩展/崩溃到它。 –
@supercool不确定是否需要引入仅用于展开/展开的Bootstrap,手工制作的也可以。尽管同意底层的信息:这个帖子比一个问题更重要。 – Jeroen
@Jeroen是一个手工制作的#agreed。 –