"fadeInIf"사용자 정의 바인딩을 만들고 싶습니다. http://knockoutjs.com/examples/animatedTransitions.html : 내 생각에서 "fadeVisible"와 같은 뭔가했다녹아웃에서 사용자 정의 바인딩을 만들 수 있습니다.
// Here's a custom Knockout binding that makes elements shown/hidden via jQuery's fadeIn()/fadeOut() methods
// Could be stored in a separate utility library
ko.bindingHandlers.fadeVisible = {
init: function(element, valueAccessor) {
// Initially set the element to be instantly visible/hidden depending on the value
var value = valueAccessor();
$(element).toggle(ko.utils.unwrapObservable(value)); // Use "unwrapObservable" so we can handle values that may or may not be observable
},
update: function(element, valueAccessor) {
// Whenever the value subsequently changes, slowly fade the element in or out
var value = valueAccessor();
ko.utils.unwrapObservable(value) ? $(element).fadeIn() : $(element).fadeOut();
}
};
나는 사용자 지정 바인딩에 아주 새로운 해요,하지만이 같은 수 생각은 :
ko.bindingHandlers.fadeInIf = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var value = valueAccessor();
$(element).toggle(ko.utils.unwrapObservable(value));
ko.bindingHandlers.if.init(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext);
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var value = valueAccessor();
if (ko.utils.unwrapObservable(value))
$(element).fadeIn();
ko.bindingHandlers.if.update(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext);
}
};
내가있어 "fadeVisible"이 작동하지만이 작업을 수행 할 수 없습니다. 무엇이 없습니까?