2016-06-10 21 views
17

Ho appena iniziato con Angular2 e ho scoperto che tutti i tutorial disponibili sul Web spiegano solo come configurare Angular2 per le Single Page Apps (SPA).Come utilizzare Angular2 come non-SPA?

Tuttavia, per la home page del mio sito ho ancora voglia di utilizzare PHP e basta usare Angular2 su alcuni luoghi come Login/iscrizione/Contatto, ecc

Come è possibile inizializzare il componente di contatto sul contatto pagina, Componente di accesso nella pagina di accesso, ecc.?

Non voglio che vengano caricati tutti contemporaneamente, solo un semplice componente che gestisce le funzioni di accesso, registrazione, ecc.

Credo che qualcosa debba essere fatto nella parte Bootstrap, ma cosa esattamente?

MODIFICA: Vorrei anche usare i componenti di Login + Registrati su una pagina.

+0

A seguito di questo articolo http://ngcourse.rangle.io/handout/routing/lazy_loading_of_components.html aumentando il tempo di caricamento tra le pagine è un male in termini dell'esperienza utente. Se ti preoccupi di caricare più file, non dimenticare che per una build di produzione, tutto il tuo file verrà unito e ridotto in uno. Quindi questo non è davvero un problema – Walfrat

+0

A meno che non pianifichiate di trasferirvi presto in SPA, suggerirei qualcosa di più leggero (Angular 1.x, Web Components) per componenti non SPA. Angular 2 ha un sovraccarico considerevole e non è mai stato pianificato per la cosa che si desidera utilizzare. – estus

+0

Angular2 ha mostrato alcuni progressi nella produzione di piccoli output. Non tutti gli strumenti ci sono ancora, ma gli esperimenti hanno avuto abbastanza successo. Per le piccole app le dimensioni dell'output erano inferiori alle dimensioni dell'output di Angularjs. Non è possibile avere direttive al di fuori dei componenti Angular2. Ma se vuoi aggiungere componenti va bene. Devi solo creare un'applicazione Angular2 diversa per ogni pagina (in cui desideri aggiungere diverse funzionalità Angular2). –

risposta

6

Penso che si potrebbe bootstrap qualunque componente è necessario in quella pagina

import {bootstrap} from '@angular/platform-browser-dynamic'; 
import {ContactComponent} from './contact.component'; 

bootstrap(ContactComponent); 
+0

Ciò significa che dovrei creare un'applicazione Angular2 completa per ogni pagina, che non è l'ideale. Inoltre, cosa succede se voglio usare i componenti di Login + Registrati su una pagina? –

+0

Quindi hai una SPA molto semplice con solo 2 componenti, ok 3 se aggiungi l'AppComponent – AngJobs

+0

Sì, è sicuramente una soluzione alternativa, ma diciamo che voglio usare anche alcuni servizi condivisi. Questo renderebbe un sacco di codice trash. Sono sicuro che c'è un altro modo per raggiungere questo obiettivo. –

Problemi correlati