Knockout.js 修饰元素的敲除绑定
在我当前的项目中,在某些情况下,我需要更改应用了敲除绑定的某些元素的位置和排序。我正在使用jQuery更改位置或修改这些元素。但是这种修改会从我修改的元素中删除绑定 我通过修改knokocutjs.com中的第一个示例来演示这个问题Knockout.js 修饰元素的敲除绑定,knockout.js,Knockout.js,在我当前的项目中,在某些情况下,我需要更改应用了敲除绑定的某些元素的位置和排序。我正在使用jQuery更改位置或修改这些元素。但是这种修改会从我修改的元素中删除绑定 我通过修改knokocutjs.com中的第一个示例来演示这个问题 var ViewModel = function(first, last) { this.firstName = ko.observable(first); this.lastName = ko.observable(last); this.fullName =
var ViewModel = function(first, last) {
this.firstName = ko.observable(first);
this.lastName = ko.observable(last);
this.fullName = ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);
};
ko.applyBindings(new ViewModel("Planet", "Earth"));
$('#test').click(function(){
var firstName = $('body').find('p:eq(0)');
$('body').find('p:eq(0)').remove();
$(firstName).insertBefore($('body').find('p:eq(0)'));
});
})
! 你到底想要什么?你期望的结果是什么?单击按钮时应该做什么?不要为此使用jQuery。坚持MVVM风格的淘汰赛,让位置之类的东西从你的VM中浮现出来,让视图反映出来。在这种情况下,依赖敲除更新视图:当您更改视图模型时,对部分视图进行排序。在我的实际方法中,我有一个网格,我使用敲除填充添加删除列添加行等一切都很好。但我需要添加拖放列,对于这种方法,我使用的是jebairds拖放列插件。这个插件通过交换列来改变列的位置,这破坏了我的敲除绑定。我不能包括实际的样本,因为它都是db驱动的