我在页面加载(存储数字json数据)后定义一个变量
我可以成功地将此变量放入:
<span data-bind="text: extQty"></span>
当变量发生变化时,它会使用适当的变量更新跨度(这样可以正常工作)。
但它不会在我的启用中更新我的变量:
<p class="pull-right"><a class="btn btn-primary" data-bind="click: $root.add, enable: pagedList().length < extQty" href="#" title="edit"><i class="icon-plus"></i> Add Extension</a></p>
我需要根据提供给“extQty”的值有效禁用启用。现在我发送5到extQty,似乎变量只是在“text”数据绑定中更新,而不是“启用”数据绑定。
答案 0 :(得分:3)
Knockout启用绑定不适用于锚标记。
所以你有2个解决方案。
解决方案1
<a href='#' title="edit" class="btn btn-primary" data-bind='click: function() {
if(pagedList().length < extQty())
{
//call the desired method from here
}' >
解决方案2
此按钮仅在条件成功且具有点击装订时显示
<a class="btn btn-primary" data-bind="click: $root.add, visible: pagedList().length < extQty()" href="#" title="edit">
此按钮仅在您的否定条件成功且没有点击装订时显示
<a class="btn btn-primary" data-bind="visible: pagedList().length >= extQty()" href="#" title="edit">
答案 1 :(得分:0)
尝试使用
<p class="pull-right">
<a class="btn btn-primary" data-bind="style: { display: (pagedList().length < extQty) ? 'block' : 'none' }"
href="#" title="edit">
<i class="icon-plus"></i>Add Extension
</a>
</p>
或者@NaveenKumar指出..你可以使用可见属性......