Имам странно поведение с ъглово 2. Всъщност моята кандидатура е доста ясна. Той има компонент на главната страница, наречен kys-app. В това посочвам шаблона html като kys-app.html. HTML също е много прост. Той има четири части, заглавие, странични менюта, долен колонтитул и основното съдържание. header, footer и sidemenu имат свои htmls шаблони, които са дефинирани в техните собствени файлове. (header.ts, footer.ts и sidemenu.ts). Очаква се основното съдържание да се показва в рутер-изхода. Ето kys-app.ts:
import { Component, OnInit, Input, Injectable, Inject, CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
import { Router, RouterModule } from "@angular/router";
import { FormsModule } from "@angular/forms";
import { HttpModule, XHRBackend } from "@angular/http";
//import { HeaderComp } from "../../components/app/header";
import { FooterComp } from "../../components/app/footer";
//import { SideMenuComp } from "../../components/app/side-menu";
//import { AuthGuard } from "/app/services/auth-guard";
@Component({
imports: [ HttpModule, RouterModule ],
selector: "kys-app",
templateUrl: "/app/components/app/kys-app.html",
directives: [ FooterComp ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
// providers: [ {provide: Router, useClass: RouterModule} ]
})
export class KYSAppComp {
constructor() {
console.log(" %% KYSAppComp %%");
}
}
Съдържанието ми kys-app.html е както следва:
<!-- Main Content -->
<section class="content-wrap">
<div class="card-panel">
<router-outlet></router-outlet>
<!-- Footer -->
<kys-footer></kys-footer>
</div>
</section>
<!-- /Main Content -->
Забележка: За да го опростя, временно отстраних заглавните и sidemenu компоненти. Така че, когато вляза в главната страница, очаквам да видя основното съдържание в секцията рутер-изход и под него съдържанието на долния колонтитул.
Това, което виждам, е: Въпреки че основното съдържание (съдържанието на компонента, който получавам чрез пътя на маршрутизатора (напр .: / # / login), се показват правилно, но други раздели на kys-app не се показват (напр. Съдържание на долния колонтитул). С други думи ъгловият 2 не прави потребителските тагове, определени в kys-app (например:). Може ли някой да погледнете кодовете по-горе и да ми кажете какво мога да правя погрешно? Благодаря предварително и най-добри пожелания
Отговори:
3 за отговор № 1imports: []
трябва да отидете @NgModule()
, той е невалиден в @Component()
същото directives: [ FooterComp ],
, което трябва да бъде
@NgModule({
imports: [ HttpModule, RouterModule ],
declarations: [ FooterComp ],
Изглежда, някак си смесите предварително 2.0.0 финала с пост 2.0.0 финален стил. Моля, проверете документите на angular.io за повече информация как да създадете компоненти и модули.