javascript - 使用 AngularJS 执行存储为字符串的 javascript 函数

标签 javascript angularjs

有什么方法可以动态地将存储在字符串中的 JavaScript 代码注入(inject)到 AngularJS Controller 中?

var dynamicJS = "function DoSomething(value){var x = 1+1  return 2;}"

我必须将上述函数动态注入(inject)到我的 AngularJS Controller 中,并在下拉列表的选择更改时调用它,其值绑定(bind)到 AngularJS Controller 。原因是 JavaScript 函数会根据我在应用程序级别的配置所拥有的每一行数据而有所不同。我知道我们可以使用 $eval 但希望获得一些更好的方法(如果存在的话)。

有人可以给我任何想法吗?

注意:我使用的是 AngularJS v1.4.5

最佳答案

我相信更简单的方法是解析字符串,然后使用函数构造函数。

像这样:

var DoSomething = new Function('value', 'var x = 1+1  return 2');

关于javascript - 使用 AngularJS 执行存储为字符串的 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238003/

相关文章:

javascript 函数在移入 .js 文件之前一直有效

javascript - 使用javascript加载knockoutjs组件

javascript - 如何让 angular.js 将内容加载到模式中

javascript - 单独(组织)快速路线

javascript - 语法 someFunction(abc)(d) 是什么意思?

javascript - 如何使用 ng-repeat 访问驻留在函数和循环中的 json 数组?

javascript - Ng-repeat localStorage 数据

javascript - AngularJS 和来自 Angular-UI 的 select2 : Selected option different from what user picks

angularjs - Angular : Have multiple functions in one Service

javascript - 如何在 JavaScript 中检查变量是否为整数?