我用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。 –