繁体   English   中英

Angular5 - 每次在页面上使用组件时都会调用 ngOnInit

[英]Angular5 - ngOnInit called every time a component is used on the page

我刚刚开始使用新的 angular 样式,发现了一个我无法解决的问题。 我制作了一个名为slider的组件。 该滑块在页面上使用了 3 次。 组件的 ngOnInit 被调用了 3 次,这导致了一些错误。

我应该将其重写为滑块服务吗? 有没有办法做到这一点,以便组件的多个实例不会导致不需要的函数调用。

您在同一页面上使用该组件 3 次?

我建议两种解决方案,第一种是制作父组件并将数据传递给子组件。 其次是使注入Input()变量,在每次调用中,您可以像这样传递您想要的内容:

<p>This is my page</p>
<app-slider [data]="one"></app-slider>
<app-slider [data]="two"></app-slider>
<app-slider [data]="three"></app-slider>

在你的slider.ts你可以定义一二三

Input() one: any;
Input() two: any;
Input() three: any;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM