2015-09-22 11 views
15

Tôi có đoạn code sau và bên trong của nó kiểm tra WebStorm Binary operation argument type newVal is not compatible with type string xuất hiện:Tại sao 'nhị phân loại lập luận hoạt động newval không tương thích với loại chuỗi` xuất hiện

enter image description here

Tôi đang tự hỏi tại sao

đang mô-đun đầy đủ:

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

Xin vui lòng bạn có thể cung cấp đoạn mã đầy đủ dưới dạng văn bản? Bạn có sử dụng JSDoc để chú giải mã của bạn không? – lena

+0

@ lena, vâng, chắc chắn, tôi đã cập nhật câu trả lời của mình. Không, tôi gần như không sử dụng 'JSDoc', đôi khi trong một số tệp –

+1

cảm ơn :) Không có cảnh báo nào được báo cáo cho tôi khi sử dụng mã của bạn ... phải có một số tệp khác có liên quan. Hãy thử ctrl + nhấp vào 'đường dẫn' - WebStorm sẽ điều hướng ở đâu? Ngoài ra, hãy thử bộ nhớ cache không hợp lệ - vấn đề có tồn tại không? – lena

Trả lời

7

nét JSDoc của AngularJS làm cho WebStorm nghĩ rằng path đối số là một boolean.

Bạn có thể làm WebStorm dừng lại phàn nàn bằng cách thêm JSDoc riêng bạn:

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

+4

cảm ơn, bạn có thể vui lòng trỏ đến mã đó trong đó JSDoc của Angular nói rằng 'đường dẫn' là boolean? Đây là định nghĩa cho người nghe: người gọi hàm '@param {function (newVal, oldVal, scope)} gọi lại bất cứ khi nào giá trị' - không đề cập đến kiểu boolean –

Các vấn đề liên quan