AngularJs $解析字符串对象
问题描述:
因此,可以说我有一个像返回一个字符串的服务器:
{
add:function(a,b) {
return a+b;
},
subtract:function(a,b) {
return a-b;
}
}
是有可能$解析成一个功能?
我tryed与解析它:
$parse(element.Content) // Content is the string above
,但得到
Token '{' is an unexpected token
我想是这样的:
elementFunctions = $parse(element.Content)
答
$parse
不会做你认为它!
简单地说,它只是解决性质,他们的名字,对一些方面(角范围) - 基本。
不仅如此,它还提供了一种与这些属性进行交互的方式,但您可以通过快速浏览its documentation来获得它的要点。
它不评估String
S作为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));
,为什么你会永远商店代码,您打算在变量来执行呢?这是一个非常危险的做法,并不是特别实用。 – Claies