The way controllers are initialized during extension - method extend is not consistent with how this works during general binding.
Expected Behavior
Each controller on the extension list should receive onInit after all sibling controllers have been created, so inside the event such controllers can use each other, if necessary.
Actual Behavior
Each controller on the extension list is initialized right after it is created.
Steps to Reproduce
ctrl.extend('first', 'second');
Inside first controller:
ctrl.onInit = function() {
var second = ctrl.node.controllers.second;
// second = undefined, because controller `second` hasn't been created yet.
};
The way controllers are initialized during extension - method extend is not consistent with how this works during general binding.
Expected Behavior
Each controller on the extension list should receive onInit after all sibling controllers have been created, so inside the event such controllers can use each other, if necessary.
Actual Behavior
Each controller on the extension list is initialized right after it is created.
Steps to Reproduce
Inside
first
controller:Environment