出现Binding to event property is disallowed报错该如何解决?
报错修复指南
你遇到的报错内容如下:
ERROR Error: Binding to event property 'onlyPicture' is disallowed for security reasons, please use (lyPicture)=... If 'onlyPicture' is a directive input, make sure the directive is imported by the current module
排查修复步骤
- 修正模板绑定语法:报错明确提示
onlyPicture的绑定方式不符合安全规则,分两种场景处理:- 如果
onlyPicture是组件/指令的输入属性(@Input()修饰的变量),检查模板是否误写为事件绑定格式(onlyPicture)="xxx",改为输入属性绑定格式[onlyPicture]="xxx"即可 - 如果
onlyPicture是你要绑定的输出事件,直接按照报错提示将绑定写法改为(lyPicture)="你的处理函数"即可,说明对应组件抛出的事件实际名为lyPicture,属于拼写错误
- 如果
- 检查依赖导入:如果
onlyPicture确实是第三方/自定义指令的输入属性,确认该指令所属的模块已经被导入到你当前页面所在的模块的imports数组中;如果是Angular 14+的独立组件模式,确认该指令已经被导入到当前组件的imports配置项中 - 检查拼写一致性:核对组件/指令中定义的
@Input()、@Output()变量名(包括别名配置)和模板中绑定的名称是否完全匹配,Angular的绑定是大小写敏感的,拼写错误会直接触发该报错
严重程度说明
该报错属于运行时阻断错误,完全不可以忽略:Angular触发该报错后,对应组件的渲染逻辑会直接终止,会导致页面白屏、对应功能完全失效等问题,必须修复后才能正常使用相关功能。
内容的提问来源于stack exchange,提问作者mevr
相关产品推荐
相关产品推荐

