【发布时间】:2018-06-20 07:42:34
【问题描述】:
我需要能够以角度运行一些“伪验证”。这意味着我们的客户想要显示为警告的“验证”,但从角度来看它仍然有效。
为此,我使用了 Angular 的表单验证(因为这似乎是正确的方法)。
我创建了一个指令来更新其宿主的 css 类,类似于 angular itself does
在尝试了不同的东西(总是使用@HostBinding)之后,我注意到使用@HostBinding 时从未添加过该类,但使用指令的host 时可以成功运行
查看 stackblitz -> https://stackblitz.com/edit/angular-keky2p?file=src%2Fapp%2Fapp.component.ts
目标是将橙色渲染为输入的背景。
如果你使用host,它可以工作,如果你使用@HostBinding,它就不行。
函数asWarning 只是让任何提供的验证器总是返回NULL(有效)
它们应该是等价的,但似乎存在一些差异。 我做错了什么还是它们不等效?
【问题讨论】:
-
我不明白我应该看到什么差异。无需引入字段。您可以将
@HostBinding(...)添加到get displayWarning() {.. -
伙计,花了几个小时后,我似乎犯了一个非常愚蠢的错误……在我的示例中,
getDisplayWarning将被执行得太早。如果您将评论添加为答案,我会将其标记为答案。
标签: angular