我的Closure编译器对我的项目的目标是实现100%的类型,但我正在努力使用一个看起来像这样的简单jQuery模式:
$Controls.on('change input', /** function(this:Element) */ function () {
$(this).removeClass('is-invalid').next('.invalid-feedback').remove();
});
无论有没有评论/** function(this:Element) */
,我都会收到以下错误:
js/quote.js:61: WARNING - could not determine the type of this expression
$(this).removeClass('is-invalid').next('.invalid-feedback').remove();
^^^^
我以为我在“this
类型”部分的Github Wiki titled 'Types in the Closure Type System'中找到了答案,但这似乎并没有按我认为的那样做。
如何为Closure Compiler指定this
的类型?
答案 0 :(得分:1)
感谢@RandyCasburn的评论
/** function(this:Element) */
应更改为** @this {Element} */
,以便将函数上下文的类型转换为Element
我认为应该使用/** function(this:Element) */
来定义具有元素上下文的函数的参数类型