Я использую Angular2 beta и создал веб-страницу с 3 ссылками/компонентами.Angular2 Router load header и footer каждый раз
Я отдельно создал компонент заголовка, mainnav и footer, который должен загружаться только один раз?
Проблема в том, что, когда я перехожу к различным ссылкам, вся страница, похоже, перезагружается. Я не хочу, чтобы заголовок, mainnav и footer перезагружались каждый раз, это слишком медленно.
Не должно Angular2 просто загружать содержимое и не перезагружать все остальное?
Что я, я не ошибаюсь?
Вот код:
import {Component} from 'angular2/core';
import {RouteConfig} from 'angular2/router';
import {ROUTER_DIRECTIVES} from 'angular2/router';
import {mainnav} from './mainnav.component';
import {header} from './header.component';
import {footer} from './footer.component';
import {HomeComponent} from './home.component';
import {AboutComponent} from './about.component';
import {ContactComponent} from './contact.component';
@Component({
selector: 'my-app',
directives: [mainnav, header, footer, ROUTER_DIRECTIVES],
template: `
<my-mainnav></my-mainnav>
<my-header></my-header>
<router-outlet></router-outlet>
<my-footer></my-footer>
`,
})
@RouteConfig([
{ path: '/home', name: 'Home', component: HomeComponent, useAsDefault: true },
{ path: '/about', name: 'About', component: AboutComponent },
{ path: '/contact', name: 'Contact', component: ContactComponent }
])
export class AppComponent {
}
Ссылки:
<ul class="nav navbar-nav">
<li class="active"><a href="home">Home</a></li>
<li><a href="about">About</a></li>
<li><a href="contact">Contact</a></li>
</ul>
Я знаю, что им не с помощью [routerLink] ... было бы что сделать разницу в загрузке?
Почему вы думаете, что компоненты перезагружается? Попытайтесь добавить 'console.log' в конструкторы компонентов, чтобы убедиться, что они воссозданы. – kemsky
Или еще лучше, разместите плунжер, чтобы мы могли самостоятельно с ним работать – drewmoore
Как вы активируете разные маршруты? –