AngularJs $解析对象

时间:2016-11-20 16:00:51

标签: javascript angularjs-1.5

所以假设我有一个返回字符串的服务器:

{
    add:function(a,b) {
        return a+b;
    },
    subtract:function(a,b) {
        return a-b;
    }   
}

是否可以将$解析为函数?

我试着用以下方法解析它:

$parse(element.Content) // Content is the string above

但是

Token '{' is an unexpected token

我想要像:

elementFunctions = $parse(element.Content)

1 个答案:

答案 0 :(得分:0)

$parse不符合您的想法!

简单地说,它只是解析属性,按名称,针对某些上下文(有角度的范围) - 基本上。 好吧,它不止于此,它提供了一种与这些属性进行交互的方法,但是通过快速查看its documentation,您将获得它的要点。

它没有评估 String作为javascript代码。

您最有可能eval想要string 虽然在很多情况下 有更好,更快,更可控,更合理的解决方案!

const code = ''
+   'const functions = {'
+       'add: function(a,b) {'
+           'return a+b;'
+       '},'
+       'subtract: function(a,b) {'
+           'return a-b;'
+       '}'
+   '};'
+   'functions';

console.log(eval(code).add(50, 1));