Ho 15 schede che utilizzano schede di interfaccia utente angolari come questoCliccando su ui angolare evento incendi schede molte volte
Questo è modello
<tabset justified="true">
<tab heading="{{ tab.display }}"
select="tsc.selectTab(tab.date)"
ng-repeat="tab in tsc.tabs">
<div ng-include="'entries.html'"></div>
</tab>
</tabset>
Questo è un controllore
$scope.activeTabDate = '';
self.selectTab = function (tabDate) {
$scope.activeTabDate = tabDate;
};
ora Questo è il mio controller figlio per entries.html
$scope.$parent.$watch('activeTabDate', function (newValue, oldValue) {
if (newValue !== oldValue) {
console.log('--'+newValue);
}
});
Ho 15 schede nella pagina. Il mio problema è ogni volta che clicco sulla scheda. In console.log ottengo 15 voci invece di una. Perché è
Ti importare manualmente il controller in ogni scheda? Sembra che l'orologio ripeta 15 volte –
Ho postato ciò che penso fa parte dell'intera soluzione. Ad ogni modo, quando lo fai non sono sicuro che ripeterò l'orologio e poi lo eseguirò 15 volte di nuovo. Hai provato a mettere l'orologio nel controller principale? la rilegatura dell'orologio verrà ripetuta 15 volte. Penso che .. http://thenittygritty.co/angularjs-pitfalls-using-scopes -> Pitfall # 1 –