Kendo MVVM 取消对 ObservableObject 的更改

Kendo MVVM Cancel Changes to ObservableObject

我是 Kendo 的新手,在 ObservableObject 和 ObservableArray 上是否有类似 Kendo DataSouce 的 cancelChanges 方法? https://docs.telerik.com/kendo-ui/api/javascript/data/datasource/methods/cancelchanges

我使用 data-bind="source: Products" 将视图绑定到 ObservableObject,其中 products 是一个 ObservableObject。我想在此 ObservableObject 中提供一个取消功能(绑定到视图上的 'close' 按钮),单击该对象时必须取消更改。

Products = kendo.observable({

cancel: function(e) {...}   //undo changes here...

});

不,没有这样的内置机制。Kendo 不会跟踪所做的更改,因此您需要自己进行。最简单的方法是在开始时获取 Products 或其包含的数据的副本。要还原任何更改,您可以将 Products 或其中的数据设置回您在开始时获取的副本。如果您 'save' 更改,请更新副本,以便用户可以进行进一步更改,然后取消回到他们 'saved'.

的最后一点

您可以使用 Datasource 并将其绑定到您的 ViewModel,因此您可以使用 DataSource 的内置功能,例如 cancelChanges

关注 this link 它可能会给您带来启发。