我正在寻找一种在整个DOM中动态绑定公式的方法.
我们有一个数据密集型应用程序,目前我编写了许多处理程序来尝试重新计算和更新相应的单元格.但是,这很容易出错.
我看到了一些可能有能力的东西,哈希戈.然而,它在大约一年半的时间里没有更新.
有没有人知道正在积极开发的类似的东西?我一直在寻找,但这是我设法找到的.
理想情况下,我只需要设置公式,它将处理监视公式中的字段是否已更改,并相应地更新值.
编辑:我也jQuerySheet但它比我可以使用的方式更多,我只需要解析方面的公式.并且它的计算引擎似乎围绕具有列/行标识符的单元旋转太多.
EDIT2:这个jQuery Calculation插件越来越接近我需要的东西了.
编辑3:最后,我希望能够写出一些简单的东西
$('#output').formula(" ( SUM($('.x')) + $('#y') ) / ( funcThatReturnsValue() + 4 )");
Run Code Online (Sandbox Code Playgroud)
这会导致#output每当值.x或#y更改时重新计算的值.
但是,我可能会设置一些基本的东西
$('#output').formula({
formula: "(SUM(x)+y)/(j+k)",
variables: {
x: $('.x'),
y: $('#y'),
j: function() {
return 3;
},
k: 4
}
onblur: $('.x, #y')
});
Run Code Online (Sandbox Code Playgroud)
小智 2
您可以使用 knockout.js 来获取您正在寻找的功能。
\n\nKnockout.js 在 JavaScript 中实现 mvvm 模式。他们是这样定义 MVVM 的:
\n\n\n\n\nMVVM 和视图模型 模型-视图-视图模型 (MVVM) 是一种用于构建用户界面的设计模式。它描述了如何通过将可能复杂的 UI 分为三个部分来保持简单:
\n\n模型:您的应用程序\xe2\x80\x99s存储的数据。该数据代表业务域中的对象和操作(例如,可以执行转账的银行帐户),并且独立于任何 UI。使用 KO 时,您通常会对某些服务器端代码进行 Ajax 调用来读取和写入此存储的模型数据。
\n\n视图模型:UI 上数据和操作的纯代码表示。例如,如果您\xe2\x80\x99 正在实现一个列表编辑器,则您的视图模型将是一个包含项目列表的对象,并公开用于添加和删除项目的方法。
\n\n请注意,这不是 UI 本身:它没有任何按钮或显示样式的概念。它\xe2\x80\x99 也不是持久数据模型 -\n 它保存用户正在使用的未保存数据。使用 KO 时,您的视图模型是纯 JavaScript 对象,不具备 HTML 知识。以这种方式保持视图模型抽象可以让它保持简单,\n这样您就可以管理更复杂的行为而不会迷失方向。
\n\n视图:表示视图模型状态的可见的交互式 UI。它显示来自视图模型的信息,向视图模型发送命令(例如,当用户单击按钮时),并在视图模型的状态发生变化时进行更新。
\n\n使用 KO 时,您的视图只是带有声明性绑定的 HTML 文档,\n 将其链接到视图模型。或者,您可以使用使用视图模型中的数据生成 HTML 的模板。
\n
因此,您将创建“模型”,其中包括电子表格中的数据以及重新计算数据所需的任何函数。然后您将获得视图,当用户更改页面上的内容时,该视图会自动更新(也称为重新计算)数据。
\n\n\n| 归档时间: |
|
| 查看次数: |
3346 次 |
| 最近记录: |