我得到這個結合淘汰賽微調:如何加快bindingHandler的jQuery UI的微調
ko.bindingHandlers.spinner = {
init: function (element, valueAccessor, allBindingsAccessor) {
//initialize datepicker with some optional options
var options = allBindingsAccessor().spinnerOptions || {};
$(element).spinner(options);
//handle the field changing
ko.utils.registerEventHandler(element, "spinchange", function() {
var observable = valueAccessor();
observable($(element).spinner("value"));
});
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).spinner("destroy");
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor()),
current = $(element).spinner("value");
if (value !== current) {
$(element).spinner("value", value);
}
}
};
它的工作原理沒有問題,但是當我有很多這些添加到頁面中,我得到的性能問題。 在我的頁面上我有44個spinners,導致視圖加載2秒。用一個「價值」替代微調器綁定解決了性能問題,但看起來不太好。 任何建議如何加快bindingHandler,使其更高效?
你可以在jsFiddle中重新創建問題嗎? –
太大又複雜。我已經測試過,像上面提到的spinner.handler一樣花時間...... –
如果你想重新創建太大而複雜的內容,而不是你期待的能力如何? –