CanJS:如何将数据从一个列表移动到另一个列表?

时间:2015-08-04 00:57:37

标签: canjs

我有一个jsFiddle。我想通过双击将数据从一个列表移动到另一个列表中。我怎么能这样做?

http://jsfiddle.net/subsonic/dxk2xfrn/

var col1 = {
    "items": [{name: "col1_1"}, {name: "col1_2"}, {name: "col1_3"}, {name: "col1_4"}, {name: "col1_5"}],
}

1 个答案:

答案 0 :(得分:1)

定义一个将用作事件处理程序的方法:

var makeMoveFn = function (source, target) {
    return function (context, el, ev) {
        var index = source.indexOf(context);
        source.splice(index, 1);
        target.push(context);
    }
}

将该方法与视图范围内的属性相关联:

can.view('main-template', {items: col1_data, move: makeMoveFn(col1_data, col2_data) })

在引用范围属性时绑定到视图中的事件:

<div class="clickMe" can-dblclick="move">{{name}}</div>

演示:http://jsfiddle.net/wt6j8kwn/