Events 当数据绑定在敲除中发生时,我需要一个全局事件

Events 当数据绑定在敲除中发生时,我需要一个全局事件,events,knockout.js,Events,Knockout.js,我是击倒JS的新手。我已经搜索了一些例子,但到目前为止还没有找到。我有一个页面,它是一个数据收集表单,使用knockout绑定值。我试图做的是向用户提供一个标志,让他知道数据已被修改,需要保存。在应用程序中,用户可以下拉表单并显示来自服务器的数据,并且仅将其用作信息。在其他情况下,他可以修改该数据。我想在任何绑定发生更改后,向用户显示一个标签,上面写着“数据已被修改”,如果用户试图离开页面,我想警告他更改将丢失。是否有一些我可以订阅的事件可以告诉我模型中的任何值何时发生了更改 谢谢, 特里看一看

我是击倒JS的新手。我已经搜索了一些例子,但到目前为止还没有找到。我有一个页面,它是一个数据收集表单,使用knockout绑定值。我试图做的是向用户提供一个标志,让他知道数据已被修改,需要保存。在应用程序中,用户可以下拉表单并显示来自服务器的数据,并且仅将其用作信息。在其他情况下,他可以修改该数据。我想在任何绑定发生更改后,向用户显示一个标签,上面写着“数据已被修改”,如果用户试图离开页面,我想警告他更改将丢失。是否有一些我可以订阅的事件可以告诉我模型中的任何值何时发生了更改

谢谢, 特里

看一看。这可能就是你要找的。这是他的方法的一个例子


更多信息可在此SO线程中找到:

我理解您的推理,但如果表单之外的页面上有其他绑定,该怎么办?另外,最好知道该值是否真的更改为其他值(例如,一段时间后未恢复)。因此,我建议只使用和订阅必填字段这看起来正是我需要的-谢谢。到目前为止,我还不能让它在我的网站上工作。我的视图模型是作为一个最小的数据集从AJAX下来的,然后我将它映射到可观察的对象,我确信我有什么地方出错了。再次感谢。
this.dirtyItems = ko.computed(function() {
    return ko.utils.arrayFilter(this.items(), function(item) {
        return item.dirtyFlag.isDirty();
    });
}, this);