【问题标题】:Google Blockly and AngularJS谷歌 Blockly 和 AngularJS
【发布时间】:2015-08-22 22:08:52
【问题描述】:

我需要为一组高级用户提供一种方法来创建和保存一个数学公式,该公式稍后将作为购物车结账例程的一部分运行。我必须假设电源使用不是程序员,但可以遵循简单的指令。公式不会经常更改,但必须在高级用户的控制之下,而不是系统管理员或程序员。

视觉语言 UI 似乎很适合这种要求,高级用户可以与之相关的环境最终生成 JavaScript 代码,结帐例程将能够评估 (myFormula)。

例如我的公式:

在此示例中,费用指定为... input type="number" ng-model="fee" 和 Gross 将在结帐时输入(不包括保存公式前的测试函数)。

...然后在单独的文本框中,公式将如下所示(我假设费用节省为 0.05。

var youPay = IF Gross > 1000 THAN 费用 * Gross ELSE 50

youPay 结果将显示给结帐的人。在此示例中,如果总收入低于 1000 美元,则适用 50 美元的基本金额,否则他们将支付总收入的 5%

是否有人对Google Blockly 项目或其他可能有帮助的解决方案有任何帮助?也许是一个 Excel 到 JavaScript 代码生成器,可以在保存到我的应用程序之前测试 Excel 公式。

然后这个解决方案的另一层需要确保公式不会产生安全问题或引入可能导致结帐应用程序崩溃的错误。

【问题讨论】:

  • 你在集成 Blockly 和 Angular 方面有什么运气吗?
  • 是的,我能够将它嵌入并工作到一定程度,但最终我的应用程序在向少数用户展示后放弃了这项工作。事实证明,我需要的少量 javaScript 更容易从字符串中进行 eval() 。真正改变我想法的是有人说,“你真的希望用户学习这个(指 Blockly)......为什么不让他们用纯 JavaScript 编写......”。经过一两天的考虑,我决定使用 JavaScript 并写了一些说明,最后通过电子邮件向 IT 支持发送了问题。那一直在工作!咧嘴一笑
  • 这是一种解决方案!我做了一些阅读和怀疑 AngularJS(而不是块状),谷歌“AngularJS 的缺点” - 缓慢,不灵活。但是有人设法将它们结合起来 - blog.chrisbriggsy.com/First-Angular-Hack-Day-Melbourne
  • 听起来很酷,等我有时间再去看看。但是我需要 Blockly 的项目都是用 Angular 1x 编写的......也许在重写后更适合......哈哈。谢谢

标签: javascript angularjs excel visual-programming blockly


【解决方案1】:

这听起来像是块状框架的一个很好的应用程序。 可以使用https://blockly-demo.appspot.com/static/demos/code/index.html 的块状代码演示创建像您提供的公式一样的公式,您可以将其用作启动项目的起点。没有进一步修改,它看起来像这样:http://i.stack.imgur.com/AXOJy.png(我没有足够的声誉在帖子中嵌入图像..)

您需要做的是块状地告诉您预定义的变量,以便用户可以从下拉列表中选择它们并添加类似保存按钮的内容来生成代码并将其保存在某处。也许在块状生成 javascript 的方式上需要进行一些修改,因为它的设计目的是生成少量但完整的脚本,而不是只生成较大脚本的一小部分。但是在块中对代码生成器的修改非常容易。

希望能有所帮助。

【讨论】:

  • 是的,我对 Blockly 的了解已经足够多,完全同意你的看法,一旦我弄清楚如何将它集成到 AngularJS 中,它将是一个完美的工具。还同意预定义的变量是要走的路,因为它们会给我一个起点和终点,我可以在生成器中剥离。将精简后的 sn-p 代码存储到 ng-model 命名空间是我的头等大事,但我的一个朋友主动提出帮助我,并且比我更了解 AngularJS。他有点像大师..:-) 如果我得到它的工作,我会发布一个例子。
  • 我真的很想看看一些使用角度的例子:)
猜你喜欢
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
相关资源
最近更新 更多