próbował przejść na nowy router, jak w wersji "@ kątowy/router": "3.0.0-beta.2" w połączeniu z "@ kątowy/*": "2.0.0-rc.4", po oficjalnych dokumentach na ComponentRouter.Router Angular2: Nie można znaleźć gniazda głównego, aby załadować "HomeComponent"
Jednak jestem w obliczu problemu, gdy próbuje załadować moją aplikację z domyślnym HomeComponent:
Cannot find primary outlet to load 'HomeComponent'
Wygląda na to, że ma to związek z użyciem templateUrl i zewnętrznego pliku HTML, zamiast przy użyciu szablonu inline styl.
HomeComponent początkowo nie jest wyświetlany w oknie, a błąd jest drukowany na konsoli. Jednak gdy użyję linku do komponentu domowego, zostanie wyświetlony komunikat z drugiej ręki.
Jak tylko zmieni się z
templateUrl: 'home.html'
do
template: '<router-outlet></router-outlet>'
błędu nie ma, HomeComponent przedstawiono i routing działa zgodnie z oczekiwaniami.
Czy to znany problem? Czy to działa dla kogoś korzystającego z templateUrl? Czy jest coś, co muszę szanować, aby to działało?
Czy możesz pokazać metadane komponentu dla komponentu domowego, wygląda to tak, jakbyś podawał względny adres URL, ale nie ustawiał modułu id. moduleId: module.id. http://blog.thoughtram.io/angular/2016/06/08/component-relative-paths-in-angular-2.html –
Na pewno mogę: '@Component ({ selektor:" aplikacja ", dyrektywy [ROUTER_DIRECTIVES] templateUrl: '/app/components/app/app.html' }) 'i '@Component ({ selektora: 'start.home' wytyczne: [], templateUrl: '/app/components/start/page.home.html' }) 'tak, że nie powinno to być problemem –
URL szablonu działa. To jest pewien problem z konfiguracją, czy jesteś pewny, że dodałeś dyrektywę routera i gniazda routera w odpowiednim miejscu. Podaj plunkera –