Ho due stati annidati, consisteva in uno stato astratto genitore e uno stato infantile:ionicView.enter non sparato a vista del bambino e il suo controller
.state('app.heatingControllerDetails', {
url: "/clients/:clientId/heatingControllers/:heatingControllerId",
abstract: true,
views: {
'menuContent': {
templateUrl: "templates/heatingController.html",
controller: 'HCDetailsCtrl'
}
}
})
.state('app.heatingControllerDetails.wdc', {
url: "/wdc",
views: {
'hc-details': {
templateUrl: "templates/heatingControllers/wdc.html",
controller: 'WdcDetailsCtrl'
}
},
resolve:{
hcFamily: [function(){
return 'wdc';
}]
}
})
e due controller sono:
.controller('HCDetailsCtrl',function($scope){
$scope.$on("$ionicView.enter", function (scopes, states) {
...
});
})
.controller('WdcDetailsCtrl',function($scope){
$scope.$on("$ionicView.enter", function (scopes, states) {
...
});
})
Quando invoco lo stato app.heatingControllerDetails.wdc, vengono creati entrambi i controller, ma $ ionicView.enter viene richiamato solo sul controller principale. Qualche idea?
In heatingController.html, HC-dettagli Vista è definito come segue:
<ion-content class="has-header" ng-show="hc">
<div ui-view name="hc-details"></div>
<div class="disableContentDiv" ng-hide="hc.state=='Online'"></div>
</ion-content>
Si consiglia di guardare a $ trasmissione angolare in modo da poter annunciare al bambino visualizzare il genitore è stato ionicView.enter'd: http://stackoverflow.com/questions/19446755/on-and-broadcast -in-angular e https://docs.angularjs.org/api/ng/type/$rootScope.Scope –