我正在工作的一个项目中,我试图隔离不必要的API调用、逻辑和其他代码,否则可能会重复工作,或者使应用程序变慢并损害性能. 老实说,从共享组件中删除API调用是第一步.然而,我正在寻找一些关于我可以遵循的最佳实践的指导.

对于特定的Angular ,共享组件是否允许进行导航调用?我知道应该避免API调用(也许这只是我正在工作的应用程序的性质),如果任何人有任何 idea 或到阅读资料的链接,我将不胜感激.

另外,从我的问题可以明显看出,我是个新手,在编程方面还是个初学者

推荐答案

哑巴组件通常用于表示目的.它们不能包含沉重的逻辑.要确保您的组件是really哑元,请try 判断以下内容:

  1. 您的组件主要对UI感兴趣,这意味着它用于以一种优雅的方式呈现数据.它通常使用input variables(用@Input装饰的那个)从它的container component中获得这些数据.
  2. 如果组件需要执行需要大量逻辑的特定操作,则应使用@Output将其委托给container component.
  3. 尽量不要在您的哑巴组件中进行HTTP调用或订阅(改为使用async管道).

我建议你看看约书亚·莫罗尼的那些视频herehere,它们对我帮助很大

Angular相关问答推荐

我使用Ngrx的子集 Select 器不起作用

嵌套formArrays的HTML迭代

tabindex on button on button in MatMenu in angular不工作

TransLoco合并本地和服务器端转换对象

PrimeNg选项卡视图选项卡

使用`UrlHandlingStrategy`更改位置

懒惰加载角404路径

当快速拖动光标时会丢失元素 - Angular

JsPDF Autotable 将图像添加到列中出现错误:属性getElementsByTagName不存在

Angular 按钮指令错误地附加子元素

Angular:如何设置 PrimeNG p-steps 组件中已完成步骤的样式?

在ionic 5中获取url传递的参数

将 html ngModel 值传递给服务 --Angular

为什么 HttpParams 在 Angular 4.3 中的多行中不起作用

在组件级别加载 JS 脚本(不在启动时)

绑定 Angular material Select 列表

可从 Angular2 中的

无法从模块it was neither declared nor imported导出服务

如何在 Angular 6 中使用 mouseover 和 mouseout

Hot and Cold observables:有 hot和 cold运算符吗?