AngularJS: 方法表达式不是函数类型
AngularJS: Method expression is not of Function type
class 定义为:
angular.module('trip')
/** @class MyClass */
.factory('MyClass', [Factory]);
function Factory() {
return function(){
// fields & functions
}
}
然后在代码中我将实例化一个新对象:
/**
* @param {MyClass} MyClass
*/
function(MyClass){
var myClass = new MyClass(); // HERE MyClass is highlighted in phpStorm
}
调用 new MyClass();
时,MyClass 在 phpStorm 中突出显示,我收到此警告:
Method expression is not of Function type
这是什么意思?如何摆脱它?
WebStorm(以及其他工具)将 /** @param {MyClass} MyClass */
理解为 MyClass 实例的声明。它说你不能实例化一个实例。我可能只建议将 JSDoc 更改为 /** @param {function():MyClass} MyClass */
以停止警告。 JSDoc 本身并没有提供更好的方式来表达工厂。
class 定义为:
angular.module('trip')
/** @class MyClass */
.factory('MyClass', [Factory]);
function Factory() {
return function(){
// fields & functions
}
}
然后在代码中我将实例化一个新对象:
/**
* @param {MyClass} MyClass
*/
function(MyClass){
var myClass = new MyClass(); // HERE MyClass is highlighted in phpStorm
}
调用 new MyClass();
时,MyClass 在 phpStorm 中突出显示,我收到此警告:
Method expression is not of Function type
这是什么意思?如何摆脱它?
WebStorm(以及其他工具)将 /** @param {MyClass} MyClass */
理解为 MyClass 实例的声明。它说你不能实例化一个实例。我可能只建议将 JSDoc 更改为 /** @param {function():MyClass} MyClass */
以停止警告。 JSDoc 本身并没有提供更好的方式来表达工厂。