我已经使用knockout.js编写了一个应用程序,我也希望以批处理模式运行应用程序(例如使用node.js)。
这是一个模拟应用程序,因此交互式可视版本绑定到html前端,但另外我想以批处理模式运行模拟并生成大量数据用于统计分析,因此在该模式下我想要所有的ko代码都会消失,因为我不需要它,也不想产生性能开销。
可视化示例:
function Queue() {
var self = this;
self.items = ko.observableArray();
self.rate = ko.observable(5);
...
}
...
queue.rate(7);
批处理模式相同:
function Queue() {
var self = this;
self.items = [];
self.rate = 5;
}
...
queue.rate = 5;
有一种简单的方法吗?
我正在考虑为ko创建存根,删除与订阅相关的逻辑,但也许有更简单的方法?
答案 0 :(得分:1)
你当然可以使用ko.toJS(myObject)
来获得对象的“干净”版本,但是你仍然会产生一些开销,创建你最终只是为了获得一个干净的对象而展开的observable。
如果您的目标是在两者之间共享代码,那么我的想法就是为ko创建一个存根,就像你说的那样只会返回传递给它的值。