标题: Knockout与EasyUI实现双向绑定 [打印本页]

作者: 51hei人人    时间: 2016-3-12 21:12
标题: Knockout与EasyUI实现双向绑定
    序:

    前端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







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1