Tôi viết một ứng dụng web sử dụng AngularJS (v1.5) vì vậy tôi có một số điều khiển, và trong những bộ điều khiển tôi thường tuyên bố cái gì đó như:Làm cách nào để tắt cảnh báo về 'chế độ này' và chế độ nghiêm ngặt bằng JSHint?
function myController($someDirectives, ...){
var ctrl = this;
// My code
}
Vấn đề là khi tôi JSHint mã của tôi, tôi nhận được thông báo cảnh báo này cho tất cả 'điều này' của tôi được khai báo trong bộ điều khiển:
Nếu chức năng chế độ nghiêm ngặt được thực hiện bằng cách sử dụng chức năng gọi, giá trị 'này' sẽ không được xác định.
Tôi phải chính xác trong tệp .jshintrc của mình, tôi đặt "strict":false
. Có ai biết cách vô hiệu hóa thông điệp này không?
Xin cảm ơn trước.
Tôi không ở vị trí để kiểm tra, nhưng tôi nghĩ, nếu bạn thay đổi tên hàm thành MyController, nó sẽ được nhận dạng là hàm dựng và lỗi sẽ không được cung cấp. Cho một shot. – Ken
Tôi đang gặp vấn đề tương tự. Trong trường hợp có thể, hàm đệ quy trong câu hỏi đang được truyền 'this' thông qua functionName.call. –
Thật vậy, đề xuất của Ken dường như có hiệu quả. Đối với tôi, nó chỉ đơn giản là thêm một '" validthis ": true' trong .jshintrc của tôi. – NathanL