angular - no-unused-variable TSLint 规则不适用于私有 @HostBinding
问题描述
在我的 TSLint 文件中,我有:
"no-unused-variable": true
在我的组件中,我有时会:
// tslint:disable-next-line:no-unused-variable
@HostBinding('class') private classes = 'my-theme';
因为classes
是私有的,所以 TSLint 会抱怨,所以我每次都必须禁用 TSLint。
我不想@HostBinding
因为封装而公开。
解决此问题的推荐方法是什么?
解决方案
据我所知,你有两个选择。
1 - 使用protected
。自我解释:
@HostBinding('class') protected classes = 'my-theme';
2 - 使用ignore-pattern
。此规则将根据此处忽略匹配指定模式的变量和导入名称。该模式是一个正则表达式,^_
表示任何以 . 开头的字符串_
。
tslint.json:
...
"no-unused-variable": [true, {"ignore-pattern": "^_"}]
...
零件:
@HostBinding('class') private _classes = 'my-theme';
奖金
如果您的变量是只读的,您也可以执行其中之一。它不会防止 tslint 错误,但如果您担心封装,它会防止意外修改变量。
@HostBinding('class') private readonly classes = 'my-theme';
@HostBinding('class') private get classes() { return 'my-theme'; }
推荐阅读
- reactjs - React-Router-Dom v6 保护路由
- sql - 如何在sqlplus中定义一个名为“1”的绑定变量
- java - 如何从广播接收器调用 API(改造)?
- matplotlib - PyQt5 中的 Matplotlib 十字准线光标
- button - 使用 Automator / AppleScript 选择复选框并单击 Safari 中的按钮
- java - 如何在 Java 中模拟 HttpClient 中的代理连接
- express - BodyParser 导致所有 API 请求挂起。甚至是基本的 GET 请求
- apache - 无法在 Apache (FreeBSD) 中启用 Gzip 压缩
- javascript - 为什么我在 componentDidMount 中的函数被快速调用?
- javascript - 从每个循环把手中的不同范围访问上下文变量