/ / Dynamiczne widoki zagnieżdżonych komponentów z routerem interfejsu użytkownika - angularjs, angular-ui-router

Dynamiczne zagnieżdżone widoki komponentów za pomocą routera UI - angularjs, angular-ui-router

Mam aplikację Angular, która już korzysta z routera interfejsu użytkownika. Obecnie używa widoków zagnieżdżonych, jak większość ludzi używa notacji kropkowej, tj. parent.childState.

Jednak teraz jest oczywiste, że niektóre części tej aplikacji muszą być ponownie użyte w innym miejscu, nazwijmy to Module A Ten moduł jest kartowany i obecnie ma stan powiązany z każdą kartą. Obecnie, podobnie jak większość aplikacji routera interfejsu użytkownika, trasy są konfigurowane podczas fazy konfiguracji aplikacji.

Z tym nowym komponentem podoba mi się rejestrowanie własnych tras, a trasy te są trasami podrzędnymi dowolnego widoku nadrzędnego, w którym się znajdują.

czy to możliwe?

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz wykonać następujące czynności:

Zadeklaruj dostawcę w swoim Moduł A który będzie mógł zarejestrować wszystkie komponentyaplikacji, w której chcesz wstawić moduł. Jednym z parametrów będzie oczywiście prefiks stanu. Ten dostawca zadzwoni do $ stateProvider wewnętrznie, albo podczas wywoływania funkcji dostawcy, albo podczas tworzenia instancji usługi pasującej do dostawcy ($ get).

Jeśli wybierzesz funkcję $ get, będziesz musiałdodaj angular.run (), aby wymusić utworzenie instancji usługi wynikającej z $ get. W przeciwnym razie $ get zostanie wywołany później, a stany nie zostaną zamapowane, co spowoduje $ stateNotFound. Jest to przydatne, jeśli chcesz mieć możliwość przeciążenia niektórych konfiguracji przed wywołaniem $ stateProvider, jeśli nie potrzebujesz, nie używaj $ stateProvider w funkcji $ get.

Więc teraz wszystko, co musisz zrobić w module innym, to polegać na module A i korzystać z tego dostawcy.