Remove manual import from your .html entries and use ng-controller in a div that includes entries.html. Then, I think, you will not need to use $ scope.parent in the child controller, since the scope will be the same as the main one.
<tabset justified="true"> <tab heading="{{ tab.display }}" select="tsc.selectTab(tab.date)" ng-repeat="tab in tsc.tabs"> <div ng-include="'entries.html'" ng-controller="yourchildcontroller"></div> </tab> </tabset> $scope.$watch('activeTabDate', function (newValue, oldValue) { if (newValue !== oldValue) { console.log('--'+newValue); } });
EDIT You also run hours from each tab controller, also with my first change.
Thus, the controller will manage all the child tabs and use the same $ region.
<tabset justified="true" ng-controller="yourchildcontroller"> <tab heading="{{ tab.display }}" select="tsc.selectTab(tab.date)" ng-repeat="tab in tsc.tabs"> <div ng-include="'entries.html'" ></div> </tab> </tabset> $scope.$watch('activeTabDate', function (newValue, oldValue) { if (newValue !== oldValue) { console.log('--'+newValue); } });
https://docs.angularjs.org/api/ng/directive/ngController
source share