2016-05-13 4 views
4

Я наблюдал за некоторыми учебниками по Angular 2. Я запутался в загрузке компонентов. Если я хочу создавать приложения с несколькими страницами и не нуждаюсь в этом корневом компоненте, как бы я это сделал? Я вижу, как это будет работать для одностраничных приложений.Bootstrapping Angular 2

Это мой файл Main.Ts.

import { bootstrap } from 'angular2/platform/browser'; 

import { AppComponent } from './app.component'; 

bootstrap(AppComponent); 

Это мой файл app.component.ts.

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'pm-app', 
    template: '<h1>{{PageTitle}}</h1>' 
}) 
export class AppComponent { 
    PageTitle: string = "Test"; 

} 

Если бы я хотел, чтобы перейти на страницу, кроме скажем index.html, и это загрузить другой компонент, не доводя в AppComponent, как бы я идти о выполнении этого? В Angular 1+ это было легко, так как я просто ссылался на контроллер на HTML-странице, которую я хотел использовать. Как я могу просто ссылаться на компонент, который я хочу использовать на другой странице?

Спасибо. Попытка обернуть мою голову вокруг углового 2.

ответ

2

Некоторый компонент всегда должен быть этим корневым компонентом.

Не нужно, чтобы он всегда был одним и тем же компонентом. Вы также можете самонастройки несколько компонентов на одной странице, но каждое приложение Angular2 начинается с некоторым элементом, и это корневой компонент, который инициализируется с

@NgModel({ 
    ... 
    bootstrap: [AppComponent] 
}) 

мнением этого элемента может содержать другие элементы и директивы, которые составляют всего приложения.

+0

Так я должен самонастройки все мои компоненты в main.ts файл? Или просто bootstrap 1, и как-то перегружать его всеми моими компонентами .. ни звука не звучит хорошо. Означает ли это, если у меня есть 10 других компонентов внутри корневого компонента, которые загружают все приложение на каждую страницу или только то, что ему нужно? – Dylan

+0

Обычно у вас есть один корневой компонент, составляющий всю страницу (вот как представить типичное приложение Angular2 - есть, конечно, другие варианты), и представление этого корневого компонента состоит из других компонентов и представления этих компонентов снова других. Вам нужно только загрузить компонент, который обертывает ваше приложение. Компоненты внутри представления корневого компонента создаются автоматически с помощью углового угла. Я не уверен, что вы подразумеваете под «каждой страницей». Обычно вы используете маршрутизатор, который вставляет другие компоненты в определенные элементы маркера внутри вашего приложения –

+0

в зависимости от активного маршрута. –

0

Угловой 2 очень хорош в загрузке компонента, поэтому он в 5 раз быстрее, чем угловой 1. IT не загружает весь компонент за один раз. Он загружает требуемый компонент только в качестве концепции Lazy Loading. Для динамической загрузки используется функция Systemjs, а также может использоваться Webpack.

Угловой 2 является модульным в дизайне, поэтому, если у приложения много модулей. Вы можете создать несколько модулей и объединить все модули в один корневой модуль.

Тогда вы можете использовать функцию угловой 2 маршрутизации. Какая загрузка требуемого модуля зависит от того, какой пользователь маршрута щелкнул.

Вы можете узнать из маршрутизации в глубоком здесь

https://angular.io/docs/ts/latest/guide/router.html