2015-09-22 16 views
15

表示されSTRING`ん私は、次のコードを持っており、その中にWebStorm検査Binary operation argument type newVal is not compatible with type stringが表示されます。はなぜ `バイナリ操作の引数の型たnewvalがタイプと互換性がありません

enter image description here

私はなぜ

を思ったんだけど

完全なモジュールコード:

define(function (require) { 
    "use strict"; 

    var ng = require('angular'); 
    require('../ngModule').directive('downloadFile', ['$parse', 'auth.authService', function ($parse, authService) { 
     return { 
      restrict: 'A', 
      link: function (scope, element, attrs) { 
       var getter = $parse(attrs.downloadFile); 

       scope.$watch(getter, function (path) { 
        if (path !== "") { 
         var form = document.createElement("form"); 
         var element1 = document.createElement("input"); 
         var element2 = document.createElement("input"); 

         form.method = "POST"; 
         form.action = path; 

         element1.value = authService.getToken(); 
         element1.name = "Authorization"; 
         form.appendChild(element1); 

         element.append(form); 

         form.submit(); 
         element.empty(); 
        } 
       }); 
      } 
     }; 
    }]); 
}); 
+0

あなたがテキストとして完全なコードスニペットを提供することができますしてください?コードに注釈を付けるためにJSDocを使用していますか? – lena

+0

@lena、はい、確かに、私は私の答えを更新しました。いいえ、ほとんどの場合、 'JSDoc'を使用しません。時にはファイルによっては –

+1

ありがとうございます:)あなたのコードを使用しているときに警告が表示されません。 ctrl + 'パス'をクリックしてみてください - WebStormはどこにナビゲートしますか?また、キャッシュを無効にしてみてください - 問題は解決しませんか? – lena

答えて

7

AngularJSのJSDocの定義はWebStormはpathを思わせます引数はブール値です。あなたはWebStormは、あなた自身のJSDocのを追加することにより、文句を停止することができます

if (path !== /** @type {boolean} */"") {

+4

ありがとう、AngularのJSDocが 'path'がブール値であるというコードの要点を教えてください。リスナーの定義は次のとおりです。 '@param {function(newVal、oldVal、scope)}リスナー値が呼び出されるたびに呼び出されるコールバック' - ブール型 –

関連する問題