2017-01-13 14 views
0

htmlテンプレートをtypescript コンポーネントにインポートしようとしていますが、エラーが発生します。私はAngular 1.5を使用しています。typescriptコンポーネントで 'import * as'を使用するとエラーが発生します -

コンポーネントが...このようになります

import * as template from './home.template.html'; 
import { HomeController } from './home.controller'; 

export const HomeComponent = { 
    bindings: { 
     conf: '<', 
    }, 
    controller: HomeController, 
    template, 
}; 

そしてthatsのは、このようなモジュールに追加...

import * as angular from 'angular'; 

import { HomeComponent } from './home.component'; 

export const HomeModule = angular.module('home', []) 
.component('home', HomeComponent); 

そして、私は取得していますエラーがある...

引数 '{bindings:{conf:string;};コントローラ:typeof HomeCon ... 'は' IComponentOptions '型のパラメータに代入できません。 プロパティ 'template'のタイプは互換性がありません。 タイプ 'typeof' .html ''はタイプ 'string'に割り当てられません。 ((... args:任意の[])=>文字列)| (文字列|((... args:任意の[])=>文字列))[] '。 タイプ 'typeof' .html ''はタイプに割り当てられません(文字列|((... args:任意の[])=>文字列))[] '。 タイプ 'typeof' * .html ''にプロパティ 'find'がありません。

もし私がtemplate: template.toString()をHomeComponentに加えると、うまくいくようです。しかし、それは私にとって正しいとは感じません。その他の提案はありますか?

+0

せずに実行する必要があり、この宣言に.htmlを

declare module '*.html' { const template: string; export default template; } 

に終了モジュールを宣言する必要があなたのタイプの宣言では、HTMLファイルの任意のモジュール宣言を持っていますか? – Kalle

+0

[HTMLファイルをTypeScriptで文字列としてインポートすることはできますか?](http://stackoverflow.com/questions/36649795/is-it-possible-to-import-an-html-file-as) -a-strings-with-typescript) – Kalle

答えて

2

はどこか、あなたのコードは別の変更

+0

これは正しいです。しかし、重要なステートメントが現在間違っているために更新する必要があることを言及することを検討してください。 –

+0

ありがとうございました! –

関連する問題