Sửa lỗi Backbone.Controller is undefined, Backbone.history.saveLocation is not a function trong BackBone.js

Ái chà chà! Lần đầu sử dụng BackBone.js thì mình đụng ngay lỗi này

BackBackbone.Controller is undefined

và lỗi

Backbone.history.saveLocation is not a function


Sau một hồi lò mò thì mới biết mình “củ chuối”. Lỗi này là do sử dụng cách khai báo cũ (dùng code cũ) trong phiên bản BackBone.js mới. Kể từ phiên bản 0.5.0 có một số thay đổi mới như Controller đổi thành Router, refresh thành reset,…

Như vậy, để fix lỗi BackBackbone.Controller is undefined chúng ta cần khai báo thành

BackBackbone.Router

Cũng như dùng

BackBackbone.history.navigate

để sửa lỗi Backbone.history.saveLocation is not a function

Đây là nguyên văn thông báo trên site của BackBone.js

We’ve taken the opportunity to clarify some naming with the 0.5.0 release. Controller is now Router, and refresh is now reset. The previous saveLocation and setLocation functions have been replaced by navigate. Backbone.sync’s method signature has changed to allow the passing of arbitrary options to jQuery.ajax. Be sure to opt-in to pushState support, if you want to use it.

Nếu gặp lỗi giống như mình thì các bạn tìm hiểu cách viết mới. Chúc code vui :D


Leave a Reply

Your email address will not be published. Required fields are marked *