【问题标题】:host and @HostBinding leads to different behaviorhost 和 @HostBinding 导致不同的行为
【发布时间】: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


【解决方案1】:

不需要引入字段。
你可以添加@HostBinding(...)get displayWarning() {...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-03
    • 2021-07-27
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    相关资源
    最近更新 更多