0
我有一个Knockout视图模型,它包含一个计算的observable,它根据文本输入的内容简单地过滤一些原始数据。这个计算出来的observable然后绑定到一个表来显示信息。每当计算可观察到的变化时运行函数Knockout
每次计算observable计算,我需要有一个函数运行,它更新表行上的一些事件侦听器(我已经有这个功能)。
但是,我一直无法理解如何在计算的观察值更新后让它运行。在observable函数中调用函数会在返回新值之前进行调用,以便使用旧数据对其进行操作。我也考虑过扩展语法,但认为这是一个不适当的解决方案。
如果有人有解决方案或任何指针,我将不胜感激。
的代码更新:
var viewModel = function(data) {
var self = this;
self.search = ko.observable('');
self.rawData = ko.observableArray(data);
self.filterData = ko.computed(function() {
return self.rawData().filter(function(item) {
var filter = self.search().toLowerCase();
return item.employeeNumber.toString().includes(filter) || item.name.toLowerCase().includes(filter) || filter == "";
});
});
};
异步函数创建一个返回数据的新视图模型并应用绑定。
function reevaluateHandlers() {
// Code that should run every time the computed observable is calculated (filterData)
}
你可以发布你的代码吗? –
@ C.Fasolin我已经添加了一些代码,但我不确定它增加了多少价值。 – dbr