我在導入我的angular 2應用程序中的html模板時遇到了麻煩。Typescript 2通配符模塊
在
declare module "*.html" {
const content: string;
export default content;
}
在app.component.ts
import { Component } from '@angular/core';
import './app.component.css';
import * as template from './app.component.html';
@Component({
selector: 'app',
template: <string>template
})
export class AppComponent {
constructor() {
console.log('I am App');
}
}
該應用的工作原理和模板加載globals.d.ts但我得到這個錯誤TS2352:類型「typeof運算「* .html「'不能轉換爲'string'類型。有人有解決方法嗎?
我想這樣做。
import template from './app.component.html';
@Component({
template: template
})
...
但是編譯後的代碼就這樣結束了。
var app_component_html_1 = __webpack_require__(653);
...
template: app_component_html_1.default
app_component_html_1是我需要的字符串。爲什麼他們添加.default?
你爲什麼這麼做?爲什麼不只是'templateUrl:'。/ app.component.html''? – jonrsharpe
正在測試角2 a,並使用templateUrl。但發現它很難用於webpack。需要額外的裝載機和步驟來使其工作。 我以爲只使用模板:會更容易。 xD –
只是想說明我在TS 2.2中遇到同樣的問題。但是,我的html導入使用ng-cache-loader和webpack解析爲模板緩存鍵。我有從'./header.template.html';'import *作爲templateUrl,但是當我去使用'templateUrl: templateUrl'指定一個指令時,我得到了與OP所述的相同的錯誤。 –