コンストラクトのパラメーターに最小値と最大値を指定して、日付セレクターを作成する新しいバインディングをノックアウトに追加しようとしています。ただし、ノックアウトの日付をフォーマットして正常に解析する方法がわかりません。
date: { Value: CurrentDate, MinDate: new Date('01/01/1900 00:00:00'), MaxDate: new Date('31/12/2099 00:00:00') }
これは動作しません。
Uncaught TypeError: Unable to parse bindings.
date: { Value: CurrentDate, MinDate: new Date('01/01/1900 00:00:00'), MaxDate: new Date('31/12/2099 00:00:00') }
Message: Object #<observable> has no method 'getFullYear'
Uncaught TypeError: Object #<observable> has no method 'indexOf'
何か案は?
編集:文字列を渡して、日付セレクターメソッドで日付を作成するだけですか?
Edit2: カスタム バインディングはこのようなものです。
ko.bindingHandlers.date = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var parameters = valueAccessor();
var date = $(element).kendoDatePicker({
// Use parameters to populate options
value: parameters.Value(),
min: parameters.MinDate,
max: parameters.MaxDate
});
}
};
ただし、このコードに到達する前に例外が発生するため、重要ではないと思います。
Edit3:ノックアウトが日付をオブザーバブルに変えてしまい、それらを日付として処理しようとするとエラーがスローされるようです。