2016-05-18 9 views
2

として定義されたクラス持つ:AngularJS:メソッド式は関数型でない

angular.module('trip') 
     /** @class MyClass */ 
     .factory('MyClass', [Factory]); 

function Factory() { 
    return function(){ 
     // fields & functions 
    } 
} 

は、その後のコードで私は、新しいオブジェクトをインスタンス化しますphpStormで強調表示し、私はこの警告を取得されています

方法を式は、関数型でない

それが何を意味するのでしょうか?どのようにそれを取り除く? (他のツールと一緒に)

+0

非常によく似た質問が、コメントなしでここで尋ねられました:http://stackoverflow.com/q/32778278/1075289 – zatziky

+0

'.factory( 'MyClass'、Factory);'(サンカッコ)?私たちは厳格なDIを使用しているため、ブラケット@GrahamPHeath –

+0

があります。だから何も変わらない。 – zatziky

答えて

6

WebStormはMyClassのインスタンスの宣言として/** @param {MyClass} MyClass */を理解します。インスタンスをインスタンス化することはできません。私は警告のみを中止する/** @param {function():MyClass} MyClass */にJSDocのを変更するために提案することができます。 JSDocの自体が工場を表現するためのより良い方法を提供していません。

また、https://youtrack.jetbrains.com/issue/WEB-17325をご覧ください。

+0

Thx @ de1mar、それは警告を抑制しており、それが私の必要なものです。 – zatziky

関連する問題