setInterval не уничтожается при уничтожении компонента, вам нужно сохранить идентификатор интервала в своем классе и использовать функцию gQ] clearInterval javascript, чтобы очистить его от вашего компонента destroy hook ngOnDestroy
:
import {Component, OnDestroy} from '@angular/core';
@Component({ ... })
export class YourClass implements OnDestroy {
public intervalId: any;
public greenToAmber() {
let x = 0;
// registering interval
this.intervalId = setInterval(function () {
// ..... Rest of code
}, 500);
}
}
public ngOnDestroy () {
if (this.intervalId !== undefined) {
clearInterval(this.intervalId); // cleaning interval
}
}
}
Надеется, что это поможет.
Если вы действительно хотите сделать это с помощью регулярных выражений, вы можете попробовать что-то вроде <[^(\/>)]+\/>
:
var str = `<header>Student Directory</header>
<main>
<Student name="Pedro" age="23" />
<div id="student1">
<ul>
<li>Maths</li>
<li>English</li>
<li>Swedish</li>
</ul>
</div>
<Student name="Jane" age="15" />
</main>
<Footer />`
var matches = str.match(/<[^(\/>)]+\/>/g)
console.log(matches)