|
序:
前端MVVM框架Knockout可以實現數據雙向綁定的強大功能,如果不能與EasyUI結合使用,實在是太可惜。看了knockout-easyui-LITE-master.zip源碼后記錄一下。
思路:
在EasyUI控件的onCheck方法中綁定數據。
源碼:
ko.bindingHandlers.eudatetimebox = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var options = $(element)["combo"]('options');
var value = valueAccessor();
if (!value()) {
var curValue = $(element)["datetimebox"]('getValue');
if (curValue) {
value(curValue);
}
}
var refreshValueFun = function (oriFun) {
return function () {
value($(element)["datetimebox"]('getValue'));
};
};
options.onChange = refreshValueFun(options.onChange);
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var value = ko.utils.unwrapObservable(valueAccessor());
if ($(element)["datetimebox"]('getValue') !== value) {
$(element)["datetimebox"]('setValue', value);
}
}
};
尾:
其他大部分的EasyUI控件都可以這樣來實現。
原包下載地址: https://github.com/wengys/knockout-easyui-LITE
|
|