Tôi thích khung công tác KO, tuy nhiên việc gỡ lỗi đôi khi chỉ là một cơn ác mộng đối với tôi. Trong trường hợp của mã javascript thường xuyên tôi có thể đặt một breakpoint và đi có lúc chạy và xem những gì là sai, nhưng làm thế nào để gỡ lỗi biểu thức loại trực tiếp? Trong hầu hết các trường hợp, lỗi kết buộc là kết quả thiếu biểu tượng hoặc cú pháp sai và đôi khi loại trực tiếp hiển thị lỗi rõ ràng cho vấn đề, nhưng đôi khi không, dữ liệu dự kiến sẽ không xuất hiện trên trang hoặc thông báo lỗi như 'biểu thức ràng buộc sai' , thậm chí các tin nhắn như 'chức năng abc không được tìm thấy' không cho phép tôi hiểu ngay lập tức những gì sai vì tôi không biết mức độ nào của thời gian chạy mô hình KO của tôi đang diễn ra tại thời điểm này. Lý tưởng nhất nên có một plugin trình duyệt cho phép đặt breakpoint hoặc một cái gì đó ở bất kỳ biểu thức KO và xem bối cảnh nó chạy với thời gian chạy. Có bất cứ thứ gì như thế này trên thị trường hoặc dự kiến không? Bất kỳ ý tưởng nào liên quan đến cải thiện quá trình gỡ lỗi?Làm cách nào để gỡ lỗi các biểu thức ràng buộc knockout.js của bạn?
Trả lời
Trong quá trình phát triển, tôi sử dụng các phiên bản gỡ lỗi và đặt điểm ngắt trên hàm createBindingsStringEvaluator()
(dòng 1858 trong v2.1.0). Vì vậy, ngay trước khi các ràng buộc được "phân tích cú pháp", bạn có thể phân tích biểu thức sẽ được đánh giá, tìm ra ràng buộc nào không thành công, ngữ cảnh của chúng và bạn có thể bước qua quá trình ràng buộc để bạn có thể đi qua cho đến khi nó thất bại.
Để giảm thiểu các vấn đề cho các ràng buộc rất phức tạp, đặc biệt nếu chúng cần lặp lại, tôi sẽ xem xét việc tạo một số trình xử lý ràng buộc tùy chỉnh có thể áp dụng một tập hợp các liên kết cùng một lúc.
bạn sẽ làm gì khi tất cả các ràng buộc của bạn không thành công và không có lỗi tập lệnh? – Nikos
Nó phụ thuộc vào loại "thất bại" mà bạn có. Nếu nó xảy ra trong nhiều ràng buộc, đối phó với các vấn đề tại một thời điểm. Hiểu lý do tại sao nó không thành công bằng cách đảm bảo rằng mọi thứ là những gì bạn mong đợi. –
cảm ơn tuyệt vời !!!! – Nikos
Trong phiên bản hiện tại (v 3.4.1), chức năng được gọi là parseBindingsString. Đặt một số debugger
hoặc console.log
tại đó, sẽ giúp bạn có một số thông tin.
- 1. Bạn sử dụng kỹ thuật nào để gỡ lỗi các ràng buộc guice phức tạp?
- 2. Ngoại lệ về lỗi biểu thức ràng buộc
- 3. Làm cách nào để gỡ lỗi các ràng buộc dữ liệu Windows Runtime?
- 4. Gỡ lỗi các sự kiện WPF, các ràng buộc
- 5. Knockout.js - làm cách nào để điều chỉnh các ràng buộc tùy chỉnh
- 6. Tạm dừng các ràng buộc trong knockout.js 1.2.1
- 7. Có cách nào để gỡ lỗi hiệu quả các ràng buộc dữ liệu WPF không?
- 8. Làm thế nào để ngăn chặn các ràng buộc knockout.js đánh giá trên các phần tử con
- 9. Knockout.js - javascript chức năng trên dữ liệu ràng buộc
- 10. Làm thế nào để hiển thị tr điều kiện trong knockout.js foreach ràng buộc
- 11. Làm cách nào để tôi có thể ràng buộc các tham số chuỗi truy vấn bằng Knockout.js?
- 12. Xcode đánh giá các biểu thức trong khi gỡ lỗi
- 13. Có cách nào để đặt tiêu đề trang theo ràng buộc dữ liệu bằng Knockout.js không?
- 14. Làm cách nào để bạn gỡ lỗi lỗi 'aapt failed' của android
- 15. Làm thế nào để bạn buộc Internet Explorer tải Trình gỡ lỗi nội dung Adobe Flash?
- 16. Knockout.js lập bản đồ không ràng buộc mô hình con
- 17. Knockout.js ràng buộc nhóm đài phát thanh không hoạt động
- 18. knockout.js sử dụng chỉ mục $ nếu ràng buộc
- 19. Knockout không đánh giá biểu thức khi sử dụng chỉ mục $ trong một ràng buộc
- 20. Làm thế nào để sử dụng biểu thức mẫu khách hàng trong ràng buộc ajax của lưới kìm kìm?
- 21. Làm thế nào để bạn thực hiện các phương thức compareTo một cách rõ ràng?
- 22. Làm thế nào để săn lùng các lỗi ràng buộc WPF?
- 23. Làm thế nào để bạn ràng buộc trẻ em của một mạng lưới vào danh sách?
- 24. Lỗi "Không thể tải các ràng buộc S3 của Boto."
- 25. Làm thế nào để bạn gỡ lỗi Java Applet?
- 26. Ngăn chặn biểu mẫu ràng buộc để rvalue tham chiếu
- 27. Làm cách nào để ngăn JAXB khỏi các phương thức siêu lớp ràng buộc của @XmlRootElement khi marshalling?
- 28. Chuyển đổi một hình thức không ràng buộc thành một hình thức bị ràng buộc?
- 29. ASP.net MVC v2 - Gỡ lỗi các vấn đề về ràng buộc mô hình - BUG?
- 30. Laravel mô hình hình thức ràng buộc
Một vài gợi ý: Hãy xem ở đây để biết cách xem ngữ cảnh hiện tại của bạn: http://stackoverflow.com/questions/9261296/any-good-techniques-to-debug-template-binding-faults-for- knockout-js. Ngoài ra, nếu bạn thực sự muốn di chuyển các biểu thức ràng buộc của bạn ra khỏi đánh dấu, sau đó hãy xem dự án này: https://github.com/rniemeyer/knockout-classBindingProvider –
Cảm ơn bạn. Câu hỏi tương tự đã được trả lời – YMC
Tôi sử dụng một trình gỡ lỗi gỡ lỗi nhỏ: http://stackoverflow.com/a/16242988/647845 –