data-bind="style : { display : repeat() === 'Custom' ? 'block' : 'none' }"
此样式绑定使用敲除成功,其中以下失败
data-bind="style : { visibility : repeat() === 'Custom' ? 'visible' : 'hidden' }"
为什么?
我可以使用可见绑定,但就我而言,即使隐藏了它,我也不想失去该div空间。
我该如何实现?
我不想使用jquery来做到这一点,因为我已经成功使用了它。
解决此问题的另一种方法是创建自己的绑定。这听起来很难,但确实很容易,并且KO在设计时就考虑了自定义绑定。我希望基本软件包中有更多它们,但是创建起来很简单。此解决方案的优点是您的绑定简单且清晰。这是一个示例,称为隐藏:
ko.bindingHandlers.hidden = (function() {
function setVisibility(element, valueAccessor) {
var hidden = ko.unwrap(valueAccessor());
$(element).css('visibility', hidden ? 'hidden' : 'visible');
}
return { init: setVisibility, update: setVisibility };
})();
并在您的HTML中用作:
data-bind="hidden: !repeat()"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句