找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7933|回复: 0
打印 上一主题 下一主题
收起左侧

Knockout与EasyUI实现双向绑定

[复制链接]
跳转到指定楼层
楼主
ID:108531 发表于 2016-3-12 21:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    序:

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


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表