Так что здесь вам нужно получить доступ к методам вашего #rootSVG: SVGSVGElement.
Для этого в Angular вы можете использовать ViewChild и получить доступ к nativeElement и его методам:
<svg #rootSVG viewBox="0 0 200 100" xmlns="http://www.w3.org/2000/svg">
<svg:path fill="none" stroke="lightgrey"
d="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />
<svg:circle r="5" fill="red">
<svg:animateMotion dur="3s" repeatCount="indefinite"
path="M20,50 C20,-50 180,150 180,50 C180-50 20,150 20,50 z" />
</svg:circle>
</svg>
теперь в вашем файле ts вам нужно получить ViewChild внутри хука ngAfterViewInit, и после этого вы можете начать вызывать рассматриваемые методы:
import { Component, ViewChild } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
@ViewChild('rootSVG') rootSVG;
name = 'Angular';
ngAfterViewInit() {
setInterval(()=>{
this.rootSVG.nativeElement.pauseAnimations();
}, 500)
setInterval(()=>{
this.rootSVG.nativeElement.unpauseAnimations();
}, 1500)
}
}
Вот рабочая демка: https://stackblitz.com/edit/angular-yngun9