हाल ही में, मैंने कोणीय 2 के साथ खेलना शुरू किया है। यह अब तक का कमाल है। इसलिए, मैंने सीखने का उपयोग करने के लिए एक डेमो व्यक्तिगत परियोजना शुरू की है angular-cli।
मूल रूटिंग सेटअप के साथ, मैं अब हेडर से कुछ मार्गों पर नेविगेट करना चाहता हूं, लेकिन चूंकि मेरा हेडर माता-पिता का है router-outlet, इसलिए मुझे यह त्रुटि मिलती है।
app.component.html
<app-header></app-header> // Trying to navigate from this component
<router-outlet></router-outlet>
<app-footer></app-footer>
header.component.html
<a [routerLink]="['/signin']">Sign in</a>
अब मैं आंशिक रूप से समझता हूं कि मुझे लगता है कि चूंकि यह घटक एक आवरण है, router-outletइसलिए इसके आसपास पहुंच संभव नहीं है router। तो, क्या इस तरह के परिदृश्य के लिए बाहर से नेविगेशन एक्सेस करने की संभावना है?
अगर जरूरत पड़ी तो मुझे और भी जानकारी जोड़कर खुशी होगी। पहले ही, आपका बहुत धन्यवाद।
अपडेट करें
1- मेरे पास package.jsonपहले से ही स्थिर @angular/router 3.3.1संस्करण है। 2- मेरे मुख्य appमॉड्यूल में, मैंने आयात किया है routing-module। कृपया नीचे देखे।
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { AlertModule } from 'ng2-bootstrap';
import { LayoutModule } from './layout/layout.module';
import { UsersModule } from './users/users.module';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { PageNotFoundComponent } from './shared/components/not-found.component';
@NgModule({
declarations: [
AppComponent,
PageNotFoundComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
AlertModule.forRoot(),
LayoutModule,
UsersModule,
AppRoutingModule --> This is the routing module.
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
एप्लिकेशन-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { SigninComponent } from './users/signin/signin.component';
import { PageNotFoundComponent } from './shared/components/not-found.component';
const routes: Routes = [
{ path: '**', component: PageNotFoundComponent }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
जिस मार्ग पर मैं पहुँचने का प्रयास कर रहा हूँ, moduleवह दूसरे से मिला हैUsersModule
उपयोगकर्ता के routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { SigninComponent } from './signin/signin.component';
const usersRoutes: Routes = [
{ path: 'signin', component: SigninComponent }
];
@NgModule({
imports: [
RouterModule.forChild(usersRoutes)
],
exports: [
RouterModule
]
})
export class UsersRoutingModule { }
जब मैं एक ऐसे घटक से नेविगेट करने की कोशिश कर रहा हूं जो Layoutमॉड्यूल का हिस्सा है , लेकिन राउटर मॉड्यूल की कोई धारणा नहीं है। क्या वह त्रुटि पैदा कर रहा है।
Layout.module.ts
import { NgModule } from '@angular/core';
import { HeaderComponent } from './header/header.component';
import { FooterComponent } from './footer/footer.component';
@NgModule({
declarations: [HeaderComponent, FooterComponent],
exports: [HeaderComponent, FooterComponent]
})
export class LayoutModule{}
मैं से नेविगेट करने की कोशिश कर रहा हूँ HeaderComponent। जरूरत पड़ने पर और जानकारी देने में मुझे खुशी होगी।
RouterModuleको भी जोड़ा है imports: []जहाँ आप उपयोग करते हैं routerLinkया<router-outlet>
AppRoutingModuleइससे पहले आगे बढ़ेंLayoutModule