javascript - 可 knockout 排序 - 消除元素

标签 javascript jquery knockout.js mapping jquery-ui-sortable

当我在“foreach”绑定(bind)中使用“sortable”时,移动元素会使它们消失。而且,数组位置正在更新!

<div id="main">
<div data-bind="foreach: tasks">
    <div class="item" data-bind="sortable: $data">
        <label data-bind="text: name"></label>
    </div>
</div>
</div>

Fiddle example.

最佳答案

您的 View 模型中有很多错误。

html:

<div id="main">
    <div data-bind="foreach: tasks">
        <div class="item" data-bind="sortable: tasks">
            <label data-bind="text: name"></label>
        </div>
    </div>
</div>

View 模型:

var Task = function(name) {
    this.name = name;
}

var InternalTasks = function(tasks) {
    this.tasks = ko.observableArray(tasks); 
}

var ViewModel = function() {
    var tasks1 = new InternalTasks([
        new Task("Get dog food"),
        new Task("Mow lawn"),
        new Task("Fix car"),
        new Task("Fix fence"),
        new Task("Walk dog"),
        new Task("Read book")
    ]);
    var tasks2 = new InternalTasks([
        new Task("aa"),
        new Task("bb"),
        new Task("cc"),
        new Task("dd"),
        new Task("ee"),
        new Task("ff")
    ]);
    this.tasks = ko.observableArray([tasks1, tasks2]);
};

ko.applyBindings(ko.mapping.fromJS(new ViewModel()));

关于javascript - 可 knockout 排序 - 消除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19856783/

相关文章:

jquery - $ ("form").submit(function() { 在 Firefox 中不起作用

knockout.js - 将 Kendo UI 微调器限制为没有小数的整数

knockout.js - 选项绑定(bind) : select list does not reflect value of bound object

javascript - 如何将javascript绑定(bind)到所有相关元素?

javascript - AngularJS - 使用 ui-router 未显示嵌套 View

javascript - 如何关闭 Angular 对话框?

javascript - 是否可以在Golang中获取需要JS的网页?

javascript - 空格导致我的 javascript 显示不正确( trim 输出)

javascript - 奇怪的 jQuery UI slider 行为

javascript - Visual Studio Code - 挖空 - 找不到名称 'ko'