我正在使用Angular2开发Web应用程序。我使用一些外部GUI库,如:nanosSroller,qTip2。问题是其中一些需要初始化,如:
$('.panel').nanoScroller();
我不确定将此代码放在何处。在我看来,最佳位置将是模板文件中的标记,因为此代码与视图严格相关,但Angular2会从模板中删除所有标记,因此无法实现。我最终得到了ngAfterViewInit
内使用的自定义服务:
ngAfterViewInit() {
this.jsInitializer.initializeScroll('#user-panel');
}
我喜欢这种方法,因为我将所有GUI库依赖性保留在单个服务中。我不喜欢它是我仍然需要手动传递CSS选择器。有一个更好的方法吗?