循环依赖警告角度5

时间:2018-07-04 10:06:25

标签: angular angular-cli warnings circular-dependency

在构建有角度的5应用程序时,我正在努力解决循环依赖警告。

我已经阅读了两个问题:firstsecond,但是无法在我的代码中找出问题以及如何解决。

这是警告:

<html>
<div class="container">
  <p>Long long text</p>
  <footer>My footer</footer>
</div>

</html>

我正在使用服务提供者作为其他组件正在使用的服务。

add-address.component.ts

WARNING in Circular dependency detected:
src\pages\addresses\add-address\add-address.component.ngfactory.js -> src\pages\nav-bar\nav-bar.component.ngfactory.js -> src\pages\cart-panel\cart-panel.component.ngfactory.js -> src\pages\addresses\add-address\add-address.component.ngfactory.js

nav-bar.component.ts

import { ServiceProvider} from '../../../providers/service-provider';
import { AlertService } from '../../../providers/alert-provider';

购物车面板组件.ts

import { ServiceProvider} from '../../providers/service-provider';
import { AlertService } from '../../providers/alert-provider';

1 个答案:

答案 0 :(得分:2)

内部<add-address></add-address>组件使用<nav-bar></nav-bar>,内部html使用组件<cart-panel></cart-panel>,内部html组件使用<add-address></add-address>,这将导致循环,因此圆圈将永远都不会关闭,因此请从cart-panel-component组件中删除add-address标记,然后代码就会编译。

渲染角度HTML示例:

   <add-address>
     <nav-bar>
       <cart-panel>
        <!-- cause circle -->
        <add-address><!-- remove this in the add-address component -->
          <!-- add-address > nav-bar > cart-panel > add-address..... -->
        </add-address>
       </cart-panel>
     </nav-bar>
   </add-address>