Mam pojedynczą stronę angularjs aplikacji z czterech regionów, każdy z własnym treści:Niezależny routingu dla wielu regionów w angularjs jednej aplikacji widoku
muszę każdy region do komunikowania się za pośrednictwem usług, ale poza tym muszą mieć własne niezależne trasy dla celów widoku, tzn. każdy powinien mieć swój własny stan widoku.
Próbowałem to zrobić (plunkr) z angular-ui-router, ale nie mogę wymyślić, jak utworzyć stany kątowe, które dotyczą tylko określonego modułu lub regionu, bez modyfikowania reszty regionów na stronie.
Strona zawiera Regionów
<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>
a aplikacja prób definiują każdy region w niezależnym module:
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>'
}
}
});
});
Każdy moduł powinien mieć swój własny „początkowy” stan i „drugie "stan, a oba powinny pokazywać się na ekranie w tym samym czasie, a zmiana stanu jednego nie powinna wpływać na drugi. Jeśli nie można tego zrobić za pomocą kątowego routera, jaki jest najlepszy sposób na zrobienie tego z Angular?
Ah, wspaniale, oddam to. Lubię to rozwiązanie lepiej niż dwie oddzielne aplikacje. – Raman
@Raman na pewno chcesz to sprawdzić. Po tym, jak nie znalazłem tego pytania, opublikowałem [moje własne] (http://stackoverflow.com/a/26126797/1294804), na którym Chris upuścił niesamowity [link plunker] (http://plnkr.co/edit/nc5ebdDonDfxc1PjwEHp?p = podgląd), który doskonale demonstruje nasze zastosowanie. – cazzer
Dziękuję, lepkie stany działały idealnie. Dobra robota. Odpowiedź została zaakceptowana. – Raman