나는 가시성 바인딩을 가지고 있기를 원하는 시나리오가 있습니다. 그리고 가상으로하고 싶습니다.가상 사용자 정의 바인딩
이 피들은 내 문제를 해결하지만 bindgHandler를 원합니다. 해결하려는 문제는 블록 속성이 true이면 elemnt가 HTML의 공간을 차지해야하며 unnessesery를 렌더링하지 않아야한다는 것입니다.
나는 당연히이 나 좋네요을 할 아벨되고 싶어요. bindingHander 내가하는 모든 일에서
<!-- ko foreach: allRows -->
<!-- ko visibility: $data-->
<div>
<span data-bind="text:text"></span>
</div>
<!-- /ko -->
<!-- /ko -->
는
if(block)
$element.css("visibility","hidden");
else
$element.css("visibility","visible");
이다 나는 그것이 바로 ... 누군가가 올바른 방향으로 날 도와주세요 수 위선적 인 말투.
ko.bindingHandlers.visibility = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var child = ko.virtualElements.firstChild(element),
var visible = valueAccessor().visible();
var block= valueAccessor().block();
if (!block||!visible) {
//call the general if binding ?
} else {
//Add visibility:hidden class
}
}
};
ko.virtualElements.allowedBindings.visibility = true;
http://jsfiddle.net/7ENpC/2/는 공간을 차지 dosnt. – user1199595