Issue 1:
When converting the TypeScript lifecycle example to Dart, @adaojunior noticed that the TS & Dart versions generate slightly different events.

I'm not sure these differences are significant, but I'm reporting it just in case. I initially interpreted this test as meaning that the Dart UI wasn't updated every time it should be. Now I think it is updated the same way the TS UI is, but that the TS version has 1 extra pair of after*Checked events.

The source code for both the TS & Dart versions is in https://github.com/adaojunior/lifecycle-hooks. To see the diffs when they run:

Right-click here to open a window with the runnable TS sample.

Right-click here to open another window with the runnable Dart sample.

Open the Dart window's console.

In both windows, click Create PeekABooComponent.

The Dart UI displays this:

#1 onChanges (1): name initialized to "Windstorm"
#1 onInit
#1 afterContentInit
#1 afterContentChecked (1)
#1 afterViewInit
#1 afterViewChecked (1)

Its console displays the same messages, plus 2 more:

...
#1 afterContentChecked (2)
#1 afterViewChecked (2)

The TS UI displays these messages:

#1 onChanges (1): name initialized to "Windstorm"
#1 onInit
#1 afterContentInit
#1 afterContentChecked (1)
#1 afterViewInit
#1 afterViewChecked (1)
#1 afterContentChecked (2)
#1 afterViewChecked (2)

So the Dart and TS logs appear to be the same, but the 2 last events don't make it to the Dart UI (yet).

In both windows, click Update Hero.

The Dart UI adds the following lines:

...
#1 afterContentChecked (2)
#1 afterViewChecked (2)
#1 onChanges (2): name changed to "Windstorm!"
#1 afterContentChecked (3)
#1 afterViewChecked (3)

The Dart console adds the following lines:

...
#1 onChanges (2): name changed to "Windstorm!"
#1 afterContentChecked (3)
#1 afterViewChecked (3)
#1 afterContentChecked (4)
#1 afterViewChecked (4)

The TS UI adds the following lines:

...
#1 afterContentChecked (3)
#1 afterViewChecked (3)
#1 onChanges (2): name changed to "Windstorm!"
#1 afterContentChecked (4)
#1 afterViewChecked (4)
#1 afterContentChecked (5)
#1 afterViewChecked (5)

Each click of Update Hero results in 1 onChanges event and 2 (Dart) or 3 (TS) groups of afterContentChecked+afterViewChecked events.

Issue 2:
I'm submitting a ... (check one with "x")

[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior

When using lazy module loading the module constructor it s initialized twice

Expected behavior

i need normal constructor behavior

Minimal reproduction of the problem with instructions

Here is the exemple with DashboardModule constructor called twice

https://plnkr.co/edit/Ag6BPxwKuW3iBWDOMTBV?p=preview

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Linux mint, Webstorm

Angular version: 2.3.1

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =