ho una sola pagina di applicazione AngularJS con quattro regioni, ognuna con il proprio contenuto:di routing indipendente per più regioni in una AngularJS un'applicazione singola pagina
ho bisogno ogni regione di comunicare tramite i servizi, ma per il resto hanno bisogno di avere un proprio instradamento indipendente a scopo di visualizzazione, ovvero dovrebbero avere ciascuno il proprio stato di visualizzazione.
Ho cercato di farlo (plunkr) con angular-ui-router ma non riesco a capire come creare stati angolari-ui che interessano solo un particolare modulo o regione, senza modificare il resto delle regioni sulla pagina.
La pagina contiene le limitata:
<body>
<a ui-sref="initial1">Initial Region 1</a><br/>
<a ui-sref="initial2">Initial Region 2</a>
<div ui-view="region1" class="region1"></div>
<div ui-view="region2" class="region2"></div>
</body>
e l'applicazione tentativi di definire ciascuna regione in un modulo indipendente:
var app = angular.module('Main', ['ui.router', 'Region1', 'Region2']);
var region1App = angular.module('Region1', []);
region1App.config(function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('initial1', {
url: '/',
views: {
'[email protected]': {
template: 'Initial Region 1 State, go to <a ui-sref="second1">Second State</a>'
}
}
})
.state('second1', {
url: '/',
views: {
'[email protected]': {
template: 'Second Region 1 State, go to <a ui-sref="initial1">Initial State</a>'
}
}
});
});
var region2App = angular.module('Region2', []);
region2App.config(function($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state('initial2', {
url: '/',
views: {
'[email protected]': {
template: 'Initial Region 2 State, go to <a ui-sref="second2">Second State</a>'
}
}
})
.state('second2', {
url: '/',
views: {
'[email protected]': {
template: 'Second Region 2 State, go to <a ui-sref="initial2">Initial State</a>'
}
}
});
});
Ciascun modulo deve avere il proprio stato "iniziale" e "seconda "stato, ed entrambi dovrebbero apparire sullo schermo allo stesso tempo, e cambiare lo stato di uno non dovrebbe influenzare l'altro. Se questo non può essere fatto con angular-ui-router, qual è il modo migliore per farlo con Angular?
Ah, bene, ci provo. Mi piace questa soluzione meglio di avere due app separate. – Raman
@Raman vorrete sicuramente verificarlo. Dopo non aver trovato questa domanda ho postato [il mio] (http://stackoverflow.com/a/26126797/1294804) in cui Chris ha rilasciato un fantastico [collegamento plunk] (http://plnkr.co/edit/nc5ebdDonDfxc1PjwEHp?p = anteprima) che dimostra perfettamente il nostro caso d'uso. – cazzer
Grazie, gli stati appiccicosi hanno funzionato perfettamente. Bel lavoro. Risposta accettata – Raman