gpt4 book ai didi

asp.net-mvc - Knockout js - 脏标志问题

转载 作者:行者123 更新时间:2023-12-04 19:44:30 25 4
gpt4 key购买 nike

我正在为我的 View 页面使用 Knockout Js。我有一个要求,如果任何可编辑字段发生变化,我必须启用“保存”按钮,否则不启用。这很好用。我的问题是我也为每行项目设置了复选框。这些是我的 viewModel 中的可观察项。现在发生的情况是,当我选中或取消选中任何复选框时,Knockout 将其视为脏项并启用我不想要的保存按钮。

我该如何解决这个问题?

最佳答案

我不确定您用于脏标志的确切代码,但如果它涉及在 dependentObservable 中使用 ko.toJS,例如 this ,那么您可以使用一个技巧让它跳过一些可观察对象。

如果您创建一个作为函数属性的可观察对象,则 ko.toJS 将找不到它。

这里有两个例子(someFlaganotherFlag):

function Item(id, name) {
this.id = ko.observable(id);
//create a sub-observable that the dirty flag won't find
this.id.someFlag = ko.observable(false);
this.name = ko.observable(name);
this.dirtyFlag = new ko.dirtyFlag(this);

//or similarly, place an observable on a plain ol' function
this.forgetAboutMe = function() { };
this.forgetAboutMe.anotherFlag = ko.observable(false);
}

此处示例:http://jsfiddle.net/rniemeyer/vGU88/

关于asp.net-mvc - Knockout js - 脏标志问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com