Tôi đang sử dụng khuôn khổ ExtJS và tôi phải xử lý sau đó được sử dụng chỉ như một handler cho một nút:Làm cách nào để thêm các tham số bổ sung vào trình xử lý ExtJS?
var myButtonHandler = function(button, event){
//code goes here
};
định nghĩa nút của tôi trông như thế này:
var myButton = new Ext.Button({
id : 'myButton',
renderTo : 'mybutton',
text : 'Save',
handler : myButtonHandler,
scope : this
});
Như bạn có thể nhìn thấy , trình xử lý nhận được "nút" và "sự kiện" được mong đợi. Tuy nhiên, tôi muốn chuyển một số thông tin bổ sung vào trình xử lý của tôi. Tôi sẽ làm như thế nào?
Đây là câu trả lời trang nhã hơn Seb. Công việc tạo một wrapper bị ẩn bởi createDelegate. Tùy chọn, người dùng có thể thêm thuộc tính tùy chỉnh vào nút và kiểm tra điều đó từ trình xử lý. Tôi vẫn thích createDelegate. –
Vì vậy, làm thế nào bạn sẽ xử lý này bên trong của ** myButtonHandler ** chức năng sử dụng [params] của bạn? Chỉ myButtonHandler ([params])? – dmackerman
Tôi đã tiếp tục và sửa đổi ví dụ để hiển thị tốt hơn những gì bạn có thể làm với createDelegate. Cũng trong Ext4 và SenchaTouch createDelegate đã được di chuyển ra khỏi nguyên mẫu hàm và bây giờ chỉ có thể truy cập bằng Ext.createDelegate (functionToDelegate, scope, args, appendOrInsertIndex) – Ballsacian1