我正在编写angular2 universal应用程序。它有一个d3图表,但我希望仅在客户端(浏览器)上呈现d3图表,而不尝试在服务器上呈现它。 angular2通用中是否存在仅在客户端运行组件方法的接口(interface)?
IE。
class ComponentWithChart implements OnInit, ngUniversalBrowser {
elem;
constructor( private viewContainerRef:ViewContainerRef) {}
ngUniversalBrowserOnInit() {
this.elem = this.viewContainerRef.element.nativeElement;
d3.select(this.elem).append('div').style({
'background-color':'yellow'
});
}
}
像上面的示例一样,是否有可能仅允许我在浏览器
ngUniversalBrowser
中运行OnInit
方法? 最佳答案
import { isBrowser } from 'angular2-universal';
isBrowser是一个 bool 值,您可以将其导入组件中,然后仅在客户端上运行时才按条件执行代码。
if (isBrowser) {
// this will not run on server
}
关于javascript - 我可以仅在使用Angular2 Universal的客户端中运行组件方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38549403/