KOでコスチュームバインドを書く方法を知っています. しかし、durandal を使用している場合、どこにコードを配置すればよいでしょうか。ビューのアタッチとアクティブ化を使用しましたが、どちらからも愛されません。
ここに以下のコードがあります
//knockout-handlers.js
define(function (require) {
ko.bindingHandlers.slideVisible = {
init: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).toggle(value);
},
update: function (element, valueAccessor, allBindingsAccessor) {
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
var duration = allBindings.slideDuration || 400;
if (valueUnwrapped == true)
$(element).slideDown(duration);
else
$(element).slideUp(duration);
}
};
ko.bindingHandlers.fadeVisible = {
init: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).toggle(value);
},
update: function (element, valueAccessor, allBindingsAccessor) {
var value = valueAccessor(), allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
var duration = allBindings.fadeDuration || 400;
if (valueUnwrapped == true)
$(element).fadeIn(duration);
else
$(element).fadeOut(duration);
}
};
});