knockout.js的存根

时间:2012-07-20 12:35:11

标签: knockout.js

我已经使用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创建存根,删除与订阅相关的逻辑,但也许有更简单的方法?

1 个答案:

答案 0 :(得分:1)

你当然可以使用ko.toJS(myObject)来获得对象的“干净”版本,但是你仍然会产生一些开销,创建你最终只是为了获得一个干净的对象而展开的observable。

如果您的目标是在两者之间共享代码,那么我的想法就是为ko创建一个存根,就像你说的那样只会返回传递给它的值。