網站搜尋

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. 在 tsconfig.json 檔案中定義 "module": "commonjs"
  2. 在 @Component 裝飾器中新增一行 moduleId: module.id,。

所以它變成:

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

參考:

  • Angular 找不到 templateUrl
  • Angular2 beta 模板 URL 和樣式 URL 的相對路徑