typescript - Angularjs 2.0 nu încarcă templateUrl


Sunt nou în Angularjs-2.0. Am creat o aplicație de exemplu și am o problemă la încărcarea templateUrl.

Fișierul meu app.ts:

import {bootstrap, Component} from 'angular2/angular2';
@Component({
    selector: 'my-app',
    templateUrl: 'grid.html'
})
class AppComponent { }
bootstrap(AppComponent);

Îmi schimb calea în ./grid.html, dar nici mie nu funcționează.

Cineva să mă ajute..!

Răspuns #1

Dacă structura directorului tău este astfel:

|- app
   |- grid.html
   |- component.ts
   myApp.ts

Apoi folosește templateUrl: 'app/grid.html'.

Actualizare

Soluția de mai sus ne obligă să introducem manual app/ în fiecare loc pentru a include aceste fișiere. Așa că iată o altă variantă:

  1. Definește "module": "commonjs" în fișierul tsconfig.json
  2. Adăugați o nouă linie moduleId: module.id, la decoratorul @Component.

Deci devine:

@Component({
    selector: 'my-app',
    moduleId: module.id,
    templateUrl: 'grid.html'
})

Referință :

  • Angular nu poate găsi templateUrl
  • Căi relative în Angular2 beta pentru templateUrl și styleUrls