我正在尝试将html模板导入到打字稿组件中并且它给我一个错误。我正在使用Angular 1.5。
该组件看起来像这样......
import * as template from './home.template.html';
import { HomeController } from './home.controller';
export const HomeComponent = {
bindings: {
conf: '<',
},
controller: HomeController,
template,
};
这就是这样添加到模块......
import * as angular from 'angular';
import { HomeComponent } from './home.component';
export const HomeModule = angular.module('home', [])
.component('home', HomeComponent);
我得到的错误是......
类型'{bindings:{conf:string;}; controller:typeof HomeCon ...'不能分配给'IComponentOptions'类型的参数。 属性“模板”的类型不兼容.. 类型'typeof' .html''不能分配给'string |' ((... args:any [])=&gt; string)| (string |((... args:any [])=&gt; string))[]'。 类型'typeof' .html''不能分配给''(string |((... args:any [])=&gt; string))[]'。 类型'typeof'* .html''中缺少属性'find'。
如果我将template: template.toString()
添加到HomeComponent,它似乎可以正常工作。但这对我来说并不合适。还有其他建议吗?
答案 0 :(得分:2)
在类型声明中的某处,您需要声明以.html结尾的模块
declare module '*.html' {
const template: string;
export default template;
}
使用此声明,您的代码应该在没有其他更改的情况下运行