2016-11-28 4 views
2

나는 서브 스크립 션 텍스트 3과 ESLint를 사용하고 있습니다.각도 2 템플릿 리터럴에서 변수 사용 감지

템플릿 리터럴 구문을 사용하여 Angular 2 템플릿을 정의하면 어떤 이유로 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; } 
} 

오류 내가 ESLint에서 점점 오전 :

  • 하지 않는 방법 'toggleOpenAssessment'
  • 되지 않는 특성 : 'ISOPEN'는

누구를합니까 템플릿 리터럴에서 사용하는 메서드 및 속성을 검색하도록 ESLint를 조정할 수있는 방법을 알고 있어야합니다. 너무?

답변

1

슬프게도이 문제에 대한 해결책은 현재 존재하지 않습니다.

이 동작과 관련된 속성은 TSLint의 no-unused-variable입니다.

참조 용으로 Angular 2 템플릿 파일 (또는 템플릿 리터럴)을 검사하는 것은 값 발생을 찾기 위해 TypeScript의 Language Service API에 의존하기 때문에 TSLint의 범위를 벗어납니다.

나는 결국 found a related GitHub issue이고, answer from Adi Dahiya이다. 그는 다음과 같이 말합니다 :

각도 템플릿을 사용하는 것은 복잡합니다. 이를 올바르게 수행하려면 Angular의 템플릿 표현 파서를 사용하여 100 % 호환성을 얻고 TypeScript 언어 서비스에서 Angular를 확장 기능으로 사용해야합니다. 우리는 앵귤러 템플릿을위한 VSCode 지원의 첫 번째 버전에 가깝습니다. 나는 곧 linting 이야기를 알아 내고 싶습니다. 몇 추한 해결 방법으로 우리를 잎

:

  • 내가 희망

TSLint 구성에서 no-unused-variable 플래그 떨어져 모든

  • 스위치에 private 속성을 사용하지 않는 가까운 장래에 그들은 정말 멋진 기능을 수행 할 수있는 방법을 찾았습니다!

    추신 : 또한 a proposal for no-unused-variable deprecation이 있습니다.

  • +0

    'template-use-public'과 비슷한 문제가 발견되었습니다. codelyzer의 최신 버전은 개인 회원이 템플릿에 사용 된 것을 알지 못합니다. –

    관련 문제