我可以在角度模板中声明一个简单的函数吗?

时间:2016-12-19 18:49:13

标签: javascript angularjs templates

我有一个组件,它将绑定"页面中的一个函数"控制器。

<my-component fn=""></my-component>

然后我的组件将执行该功能。我的问题是:我可以在视图中创建一个简单的匿名函数来传入吗?像这样:

<my-component fn="(obj)=>obj.name"></my-component> 

<my-component fn="function(obj){return obj.name;}"></my-component>

这些语法不起作用,但我想知道是否可以这样做。我无法找到它的一个例子,但我觉得它应该是可能的。

1 个答案:

答案 0 :(得分:2)

无法做到。当然不应该这样做。这种模式看起来比ng-init更糟糕(不建议这样做)。这将在安全方面造成巨大漏洞。

Angular表达式解析器takes care of special objects不要像

那样
ng-init="{{ fn = constructor.constructor('malicious code') }}"

因为 eval是邪恶的