我正在使用Sublime Text 3和ESLint。
当我使用模板文字语法定义我的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获得的错误:
有人知道如何调整ESLint以检测我在模板文字中使用的方法和属性吗?
答案 0 :(得分:1)
可悲的是,我发现目前不存在此问题的解决方案。
与此行为相关的属性是TSLint的no-unused-variable
。
检查Angular 2模板文件(或模板文字)的引用是否超出TSLint的范围,因为它们依赖于TypeScript的语言服务API来查找值的出现。
我终于found a related GitHub issue了answer from Adi Dahiya。他说:
让tslint查看Angular模板很复杂。要做到这一点,我们确实需要使用Angular的模板表达式解析器来获得100%的兼容性,然后将Angular挂钩作为TypeScript语言服务的扩展。我们接近VSCode支持角度模板的第一个版本。不久之后我想弄明白这个故事。
这给我们留下了一些丑陋的解决方法:
private
属性no-unused-variable
标志我希望在不久的将来他们能找到一种方法来实现这个非常棒的功能!