Angular 2 - ngOnDestroy未被触发

Mar*_*cek 10 javascript angular

演示http://plnkr.co/edit/7uoVecfa62i8No8GtQHI?p=preview

当我使用*ngIf隐藏包含嵌套组件的第一部分时,会触发每个嵌套组件的ngOnDestroy.

<div *ngIf="!ff2">
    <my-component
    ></my-component>
    <my-component
    ></my-component>
    <my-component
    ></my-component>
    <my-component
    ></my-component>
    <my-component
    ></my-component>
  </div>
Run Code Online (Sandbox Code Playgroud)

控制台输出为:

    init
    init
    init
    init
    init
    destroy
    destroy
    destroy
    destroy
    destroy
Run Code Online (Sandbox Code Playgroud)

但是当我隐藏第二部分,其中子组件被*ngFor复制时,并不是每个ngOnDestroy都被触发.

 <div *ngIf="!ff">
        <my-component
          *ngFor="#i of [1,2,3,4,5,6]"
        ></my-component>
      </div>
Run Code Online (Sandbox Code Playgroud)

控制台输出为:

(6) init
(3) destroy
Run Code Online (Sandbox Code Playgroud)

你知道我做错了什么,或者angular2有问题吗?谢谢.

7vu*_*0hy 0

OP\xe2\x80\x99自己的话来说来说:

\n\n
\n

在 Angular beta 9 中,它按我的预期工作,所以他们有一个错误

\n
\n\n

由 OP\xe2\x80\x99s 自己的错误报告确认确认(已关闭)。

\n\n

\n