我有一个组件,它将绑定(bind)“页面” Controller 中的函数。
<my-component fn=""></my-component>
然后我的组件将执行该函数。我的问题是:我可以在 View 中创建一个简单的匿名函数来传入吗?像这样的事情:
<my-component fn="(obj)=>obj.name"></my-component>
或
<my-component fn="function(obj){return obj.name;}"></my-component>
这些语法不起作用,但我想知道是否可以完成类似的操作。我找不到它的例子,但我觉得它应该是可能的。
最佳答案
这是不可能的。这当然不应该这样做。这种模式看起来比 ng-init 更糟糕(它本身并不推荐)。这将造成巨大的安全漏洞。
Angular 表达式解析器 takes care of special objects不要让类似的事情
ng-init="{{ fn = constructor.constructor('malicious code') }}"
因为eval
是邪恶的。
关于javascript - 我可以在 Angular 模板中声明一个简单的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41229084/