Knockout自定义绑定数据

 

var ko = require("knockout");
var komap = require("/scripts/plugins/knockout/knockout.mapping.js");
_viewListModel = komap.fromJS(data);

ko.bindingHandlers.datePicker = {
     init: function (element, valueAccessor, allBindingsAccessor, viewModel) {

//注册监听值改变事件
         ko.utils.registerEventHandler(element, "change", function () {
              var value = valueAccessor();

//转换
              var string = "/Date(" + moment(element.value, "YYYY-MM-DD HH:mm").valueOf() + "+0800)/";

//转换后的值给原model
              value(string);
           });
     },
     // Update the control whenever the view model changes
     update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
            var value = valueAccessor();
            element.value = moment(value()).format("YYYY-MM-DD HH:mm");
     }
};

//绑定视图数据

ko.applyBindings({ lists: _viewListModel }, document.getElementById("listBody"));

<input type="text" data-bind="datePicker: EndDateTime" />
时间: 2024-10-11 23:01:42

Knockout自定义绑定数据的相关文章

Knockout基本绑定数据

官方地址:www.knockoutjs.com //使用require.js加载 requirejs(['knockout', 'knockout.mapping.js'], function (ko, komap) { //这个是自己封装的从服务器获取数据的方法 var _model = GetModelFromServer(); //一个插件,将model转为可以双向绑定数据 _viewListModel = komap.fromJS(data); //开始绑定,第一个参数:modelVie

Knockout自定义绑定my97datepicker

/* my97datepicker 时间格式'yyyy-MM-dd HH-mm-ss' */ ko.bindingHandlers.datetimes = { init: function (element, valueAccessor, viewModel) { var value = ko.utils.unwrapObservable(valueAccessor()); $(element).attr("class", "Wdate"); $(element).

【Knockout】五、创建自定义绑定

概述 除了上一篇列出的KO内置的绑定类型(如value.text等),你也可以创建自定义绑定. 注册你的binding handler ko.bindingHandlers.yourBindingName = { init: function(element, valueAccessor, allBindings, viewModel, bindingContext) { // This will be called when the binding is first applied to an

Knockout应用开发指南 第五章:创建自定义绑定

创建自定义绑定 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid,tabset等这样的绑定. 重要:以下文档只应用在Knockout 1.1.1和更高版本,Knockout 1.1.0和以前的版本在注册API上是不同的. 注册你的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: ko.bindingHandlers.yourBin

5.Knockout.Js(自定义绑定)

前言 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid,tabset等这样的绑定. 注册你的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: <script type="text/javascript"> ko.bindingHandlers.yourBindName = { init: function (

(六)Knockout 创建自定义绑定

创建自定义绑定 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid,tabset等这样的绑定. 注册您的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: <script type="text/javascript"> ko.bindingHandlers.yourBindName = { init: funct

在ASP.NET MVC中使用Knockout实践09,自定义绑定

Knockout真正强大之处在于绑定机制,通过data-bind属性值体现绑定,不仅可以绑定值,还可以绑定事件,甚至可以自定义绑定. 从一个例子看Knockou的绑定机制 假设想给一个button元素变成jQuery UI的button,大致这样做: <button id="btn">点我</button> $('#btn').button( icons: { primary: 'ui-icon-gear' } ); "他山之石,可以攻玉",

HighCharts 图表插件 自定义绑定 时间轴数据

HighCharts 图表插件 自定义绑定 时间轴数据,解决时间轴自动显示数据与实际绑定数据时间不对应问题! 可能要用到的源码片段:http://code.662p.com/list/14_1.html     学习示例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quo

第五章:创建自定义绑定

你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定义很容易使用和重用的绑定.例如,你可以在form表单里自定义像grid,tabset等这样的绑定. 重要:以下文档只应用在Knockout 1.1.1和更高版本,Knockout 1.1.0和以前的版本在注册API上是不同的. 注册你的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: ko.bindingHandlers.yourBindingName