我正在与Knockout的论坛上的Google网上论坛合作,但是我认为更大的观众绝对不会伤害到这种情况。
我试图让KO使用jQuery UI的“可排序”插件来处理这种情况。我的代码贴在这里
尝试使用自定义绑定…
ko.bindingHandlers.onReceiveItem = { init: function (element,valueAccessor,allBindingsAccessor,viewmodel) { $(element).bind("sortreceive",function (event,ui) { ko.bindingHandlers.onReceiveItem.update(element,viewmodel); }); },update: function (element,viewmodel) { var value = ko.utils.unwrapObservable(valueAccessor()); var bindings = allBindingsAccessor(); } };
目标是当可排序列表接收到一个项目时,它可以获取该项目并将其添加到另一个observableArray。
这对我来说不是很有用。我遇到困难,像我想要的那样火灾。我设置的方式,它是火,但它只返回一个“真/假”值。我希望有人可能会想到我做错了什么,知道如何解决它。
(要使用代码,需要参考
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css" rel="Stylesheet" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.js"></script>
在顶部,然后是最新版本的Knockout(1.1.1)
http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-1.1.1.debug.js
解决方法
在我完成之前,我并没有意识到
Steve had already answered this。在这里,你走了,比他稍微不同。
可排序使得这更加困难,这对于绑定到每个产品的拖放绑定将变得更加容易。可排序的问题是您对整个列表而不是项目具有约束力。