角2のアプリケーションで、「エラー:./SampleComponentクラスのSampleComponent - インラインテンプレートによるエラー:厳密なモードで変数が定義されていません」というエラーが発生しました。 しかし、このエラーはIE 10でのみ発生します。角2のインラインテンプレート:厳密なモードで変数が定義されていません
<input type="text" class="form-control" name="name" formControlName="name" placeholder="Name" [nameFormatter]="selected">
ここ属性ディレクティブnameFormatter
に渡された「selected
」値がcomponent.Ifで初期化されている変数である私は、これはとそれをfine.Assigning動作しているようですいくつかの静的な値を持つselected
変数を削除してみてくださいselected
変数によりこの問題が発生します。
export class NameComponent implements OnInit {
public selected : string;
someFunction(){
this.selected="some value" //The value changes depending on some conditions
}
}
polyfillsとは何か関係ありますか。以下のpolyfillをindex.htmlに追加してみました。
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.33.3/es6-shim.min.js"></script>
<script src="https://npmcdn.com/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
<script src="https://unpkg.com/core-js/client/shim.min.js"></script>
誰かが私にこのことを教えてください。
をそして、あなただけの変数を初期化してみてくださいましたか? 'public selected:string =" "; – Arg0n
tanx @ Arg0n.私はそれらを追加しようとしました。しかし、効果は同じようです。 – Outlooker
あなたはより多くのコードを投稿する必要があります。このコンポーネントのhtmlを見ることはできますか?一般に、 'strictモードでは変数が定義されていません 'というエラーは、var宣言を使用しないために' strict mode'(TSがデフォルトで使用する)で起こるので、 'somevar = 5'エラーが発生します。' var somevar = 5' –