Knockout.js 取消可排序和删除项目会引发控制台错误

Knockout.js 取消可排序和删除项目会引发控制台错误,knockout.js,knockout-sortable,Knockout.js,Knockout Sortable,目的 我的目标是创建一个页面,用户可以从已经加载的文件中将一组预定义的列名拖动到列标题中。该页面将允许他们将静态头拖动到文件头,以便在我们将它们匹配到数据库之前映射它们 问题 我的所有拖放操作都会抛出控制台错误: -放入同一数组抛出: 未捕获类型错误:对象不是函数 -在文件头中删除可用头会引发: 未捕获类型错误:对象[Object Array]没有方法“remove” -从文件头拖放回可用的抛出: 未捕获类型错误:对象不是函数 示例 下面是我正在使用的JSFIDLE: 更多细节 我希望能够拖动一

目的
我的目标是创建一个页面,用户可以从已经加载的文件中将一组预定义的列名拖动到列标题中。该页面将允许他们将静态头拖动到文件头,以便在我们将它们匹配到数据库之前映射它们

问题
我的所有拖放操作都会抛出控制台错误:
-放入同一数组抛出:
未捕获类型错误:对象不是函数

-在文件头中删除可用头会引发:
未捕获类型错误:对象[Object Array]没有方法“remove”

-从文件头拖放回可用的抛出:
未捕获类型错误:对象不是函数

示例
下面是我正在使用的JSFIDLE:

更多细节
我希望能够拖动一个可用的标题并将其放到列上方。然后,当用户满意时,我需要获得两者之间的关联(并单击一个尚不存在的保存按钮)

可悲的是,我被困在一开始。我希望这是一个简单的问题,因为我是个新手


提前感谢。

需要在ko.observableArray中包装可用的标题-我也花了一些时间才发现您的错误

self.availableHeaders = ko.observableArray([
    new MappedHeader("Company"), 
    new MappedHeader("Address 1"), 
    new MappedHeader("Address 2"), 
    new MappedHeader("City"), 
    new MappedHeader("State"), 
    new MappedHeader("Zip"), 
    new MappedHeader("Country")
]);

编辑:错误是说要从中移动对象的容器sourceParent没有remove()函数。它没有删除功能,因为它不是ko.array。为了解决这个问题,我用ko.observearray()包装了这个数组,现在它有了所有内置的ko功能。

谢谢!我知道这很简单,但我还在学习。我感谢您的快速响应,以便我能够继续前进。