Javascript 角度2(4)-仅在第一次聚焦时触发功能

Javascript 角度2(4)-仅在第一次聚焦时触发功能,javascript,angular,Javascript,Angular,我想知道是否有一种方法可以执行一个专注于元素的函数,但只专注于组件生命周期的第一个焦点,之后就没有了 例如,此代码应仅在第一个焦点之后触发,并且仅在 然后: (focus.firstTime?=“someFunc()” 任何帮助都将不胜感激。 谢谢,试试这个 @ViewChild('foo', {read: ElementRef}) foo: ElementRef; Observable.fromEvent(this.foo.nativeElement,'focus').first() .s

我想知道是否有一种方法可以执行一个专注于元素的函数,但只专注于组件生命周期的第一个焦点,之后就没有了

例如,此代码应仅在第一个焦点之后触发,并且仅在 然后:

(focus.firstTime?=“someFunc()”

任何帮助都将不胜感激。 谢谢,

试试这个

@ViewChild('foo', {read: ElementRef})
foo: ElementRef;


Observable.fromEvent(this.foo.nativeElement,'focus').first()
.subscribe(()=> this.someFunc());

创建
boolean变量
,该变量将设置为焦点,并在函数集中
if
检查该变量如果以托管形式处理输入,则可以使用pristine:只有当用户尚未与输入交互时,输入才是pristine。