我正在使用KnockoutJS绑定到WINJS App中的表,当我第一次运行My App时,它运行正常且绑定正确。 这是Row.innetHTML =
<tbody id="repeater" data-bind="foreach: labsTableArrayKo"
<tr class="tr">
<td><span data-bind="text: VlabName"></span></td>
<td><span data-bind="text: VMType"></span></td>
<td>
<div data-bind="if: VMType == 'Virtual Machine'">
<span data-bind="text: vmStatus"></span>
</div>
<div data-bind="if: VMType == 'RemoteApp'">
<span data-bind="text: 'Ready'"></span>
</div>
</td>
</tr>
但是当我更改在绑定中使用的Array时,某些HTML代码被删除(我不知道如何?!)。 Row.InnetHTML是=
<tr class="tr">
<td><span data-bind="text:VlabName"></span></td>
<td><span data-bind="text: VMType"></span></td>
<td>
<div data-bind="if: VMType == 'Virtual Machine'"></div>
<div data-bind="if: VMType == 'RemoteApp'"></div>
</td>
</tr>
这是我如何通过Javascript绑定到HTML代码:
var viewModel = {labsTableArrayKo: labs_Table_Array};
ko.cleanNode(document.getElementById("repeater"));
var q = document.getElementById("repeater").innerHTML;
ko.applyBindings(viewModel, document.getElementById("repeater"));
那么问题是什么?
答案 0 :(得分:0)
实际上我用(可见)替换了(If)并且它适用于我,我不知道为什么但它有效。