2012-01-30 6 views
5

Tôi đang làm việc trên ứng dụng javascript ngoại tuyến. Nó cần hỗ trợ IE7 để localStorage không phải là một tùy chọn. Điều đó nói rằng, các ứng dụng không cần phải tồn tại bất kỳ thông tin (nếu bạn làm mới mọi thứ bị xóa sổ và đó là OK).Đường trục không có kho dữ liệu

Vì vậy, câu hỏi của tôi là, làm cách nào để đặt Backbone chỉ sử dụng biến javascript chuẩn (JSON) làm kho dữ liệu của tôi?

Nếu tôi bỏ qua phương thức model.url() tôi gặp lỗi. Tôi tưởng tượng điều này là đơn giản, nhưng tôi không chắc chắn phải làm gì.

Cảm ơn!

Trả lời

3

Nếu bạn nhìn vào những gì localStorage adapter is doing, bạn sẽ thấy rằng nó ghi đè Backbone.sync. Đây là mô-đun trong Backbone có trách nhiệm cho việc lưu trữ/newing/lấy/cập nhật dữ liệu của bạn khi bạn gọi new, save, fetch vv

Theo mặc định, nó sử dụng một thiết bị đầu cuối RESTful được định nghĩa trong url của mô hình của bạn. Nếu bạn sử dụng ghi đè LocalStorage, nó sẽ đặt nó trong một cửa hàng cục bộ.

Nếu, thay vào đó, bạn chỉ muốn đặt nó vào một mảng trong bộ nhớ, bạn sẽ chỉ ghi đè Backbone.sync theo cách tương tự bằng cách xác định những gì "đọc", "cập nhật", "tạo" và "xóa". Tôi sẽ căn cứ nó khỏi bộ chuyển đổi backbone-localstorage.js vì nó làm hầu hết những gì bạn muốn, nhưng sau đó tôi sẽ lưu trữ/lấy từ băm của cặp khóa/giá trị id/đối tượng.

+0

cảm ơn! Chỉ cần những gì tôi đang tìm kiếm. – captainclam

2

Chỉ cần không sử dụng phương thức thu thập save hoặc create.

Thay vào đó hãy sử dụng storeadd. Chúng không cố gắng lưu dữ liệu vào bộ nhớ.