標題: Knockout與EasyUI實現雙向綁定 [打印本頁]

作者: 51hei人人    時間: 2016-3-12 21:12
標題: Knockout與EasyUI實現雙向綁定
    序:

    前端MVVM框架Knockout可以實現數據雙向綁定的強大功能,如果不能與EasyUI結合使用,實在是太可惜?戳薻nockout-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.torrancerestoration.com/bbs/) Powered by Discuz! X3.1