【问题标题】:Detect display change of input inside ngIf检测ngIf中输入的显示变化
【发布时间】:2017-06-07 20:15:06
【问题描述】:

我在*ngIf 中有一个input

<div *ngIf='display'>
    <input number="number" />
</div>

我想检测 input 何时显示在 number 指令中。这意味着当display=true 更改为false 时,它应该调用指令内的函数以及返回到true 时。

这是plunker

【问题讨论】:

标签: angular angular2-directives


【解决方案1】:

number 指令在每次 displayfalse 更改为 true 时创建,并在 displaytrue 更改为 false 时销毁。

对于前一种情况,您可以使用constructor(...)ngOnInit()ngAfterViewInit()ngAfterContentInit()

以后可以用ngOnDestroy()

【讨论】:

  • 谢谢!我刚刚意识到我没有使用 *ngIf 而是使用条件 css hidden 属性。在这种情况下你有解决办法吗?
  • 我不知道是否有办法确定元素是否可见。也许迭代父母看看是否有visibility=='hidden'。可能更好的方法是将display 也传递给number 并进行@Input() set if(value) { if(value) {...} else {...}} 之类的输入,然后像&lt;input number="number" if="display" /&gt; 一样使用它
猜你喜欢
  • 2011-09-21
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2015-11-29
  • 2019-07-09
相关资源
最近更新 更多