Sử dụng chức năng mũi tên ES6 với từ vựng this
ràng buộc là rất tốt.
Tuy nhiên, tôi chạy vào một vấn đề lúc nãy sử dụng nó với một jQuery điển hình ràng buộc nhấp chuột:
class Game {
foo() {
self = this;
this._pads.on('click', function() {
if (self.go) { $(this).addClass('active'); }
});
}
}
Sử dụng một chức năng mũi tên thay vì:
class Game {
foo() {
this._pads.on('click',() => {
if (this.go) { $(this).addClass('active'); }
});
}
}
Và sau đó $(this)
được chuyển đổi sang ES5 (tự = này) loại đóng cửa.
Có phải cách để Traceur bỏ qua "$ (this)" này để liên kết từ vựng không?
Nếu một trong các câu trả lời dưới đây * đã trả lời câu hỏi của bạn *, đừng quên để đánh dấu nó như là chấp nhận . Nếu không, có lẽ bạn có thể làm rõ những gì bạn cần biết? –
điều này có vẻ giống như một ví dụ hoàn hảo khi không sử dụng chức năng mũi tên vì '.on()' thực sự có giá trị 'this' hữu ích cho bạn. Đối với tôi nó rõ ràng hơn nhiều với 'this' đề cập đến mục tiêu sự kiện hơn là phải vượt qua sự kiện và tìm mục tiêu theo cách thủ công. Tôi đã không chơi nhiều với các chức năng mũi tên nhưng nó có vẻ như nó sẽ được khó hiểu để đi qua lại với các chức năng vô danh. – robisrob