我想在我的Angular2应用程序中使用第三方UI元素/组件,例如spin.js。要使用此库,我需要直接访问DOM,但这并不是在Angular2中的正确操作方式(出于多种原因,例如服务器端渲染):
var target = document.getElementById('foo')
var spinner = new Spinner(opts).spin(target);
有没有关于在angular2中如何处理第三方库的建议?或者现在直接操作DOM是唯一的方法吗?
我想在我的Angular2应用程序中使用第三方UI元素/组件,例如spin.js。要使用此库,我需要直接访问DOM,但这并不是在Angular2中的正确操作方式(出于多种原因,例如服务器端渲染):
var target = document.getElementById('foo')
var spinner = new Spinner(opts).spin(target);
有没有关于在angular2中如何处理第三方库的建议?或者现在直接操作DOM是唯一的方法吗?
@Directive({
selector: '[spinner]'
})
export class SpinnerDirective {
constructor(private elementRef:ElementRef.nativeElement) {
}
ngAfterViewInit() {
var spinner = new Spinner(opts).spin(this.elementRef);
}
}
并且这样使用:
@Component({
(...)
template: `
<span spinner>...</span>
`,
directives: [ SpinnerDirective ]
})
export class SomeComponent {
(...)
}