2016-11-28 2 views
2

私は崇高なテキスト3とESLintを使用しています。角2の変数の使用を検出するテンプレートリテラル

テンプレートリテラル構文を使用してAngular 2テンプレートを定義すると、何らかの理由でESLintがメソッドとプロパティの使用法をキャッチしません。

例:私はESLintから取得しています

@Component({ 
    ..., // omitted for brevity 
    template: ` 
     <button class="btn btn-primary" (click)="toggleOpenAssessment()"> 
      {{ isOpen ? 'close' : 'open' }} assessment 
     </button> 
    ` 
}) 
export class MyComponentComponent { 
    private isOpen: boolean = false; 

    private toggleOpenAssessment() { return true; } 
} 

エラー:

  • 未使用方法: 'toggleOpenAssessment'
  • 未使用のプロパティ: 'いるisOpen'

は誰をいテンプレートリテラルで使用するメソッドとプロパティを検出するためにESLintを調整する方法を知っているあまりにも?

答えて

1

悲しいことに、私は現在、この問題の解決策が存在しないことを発見しました。

この動作に関連するプロパティは、TSLintのno-unused-variableです。

参照のためのAngular 2テンプレートファイル(またはテンプレートリテラル)をチェックするのは、値の出現を見つけるためにTypeScriptのLanguage Service APIに依存しているため、TSLintのスコープ外です。

最後にfound a related GitHub issueanswer from Adi Dahiyaです。彼は言う:

Angularテンプレートにtslintを見ることは複雑です。これを正しく行うには、Angularのテンプレート式パーサーを使用して100%の互換性を確保し、次にTypeScript言語サービスの拡張機能としてAngularをフックする必要があります。角度テンプレートのVSCodeサポートの最初のバージョンに近づいています。私はすぐ後に糸くずれの話を理解したいと思います。私はことを願っています

  • TSLint構成でno-unused-variableフラグからすべて
  • スイッチでprivateプロパティを使用していない

:わずか数醜い回避策を私たちに残し

近い将来彼らは本当に素晴らしい機能を行う方法を見つける!

PS:さらに、a proposal for no-unused-variable deprecationがあります。

+0

私は 'template-use-public'と同様の問題を発見しました。 codelyzerの最新バージョンは、プライベートメンバーがテンプレートで使用されていることに気づいていないようです。 –

関連する問題