typescript - Angularjs 2.0 לא טוען את templateUrl


אני חדש ב-Angularjs-2.0. יצרתי אפליקציה לדוגמה ויש לי בעיה בטעינת templateUrl.

קובץ app.ts שלי:

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

אני משנה את הנתיב כמו ./grid.html אבל זה גם לא עובד לי.

מישהו יעזוב לי..!

תשובה #1

אם מבנה התיקיות שלך הוא כזה:

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

אז השתמש ב-templateUrl: 'app/grid.html'.

עדכון

הפתרון שלמעלה מחייב אותנו לקבוע בקוד app/ בכל מקום כדי לכלול את הקבצים האלה. אז הנה עוד אחד:

  1. הגדר "module": "commonjs" בקובץ tsconfig.json
  2. הוסף שורה חדשה moduleId: module.id, למעטר @Component.

כך זה הופך ל:

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

הפנייה :

  • Angular לא מצליח למצוא את templateUrl
  • Angular2 ביטא נתיבים יחסיים עבור templateUrl ו-styleUrls