An adapter that replaces Backbone.sync to save to window.localStorage
instead of to the server.
Note Backbone LocalStorage v2 changes the API to work more with ES6 modules. See Upgrade Notes for more details.
Import backbone.localstorage and attach it to your models and collections:
import {Collection, Model} from 'backbone';
import {LocalStorage} from 'backbone.localstorage';
const SomeCollection = Collection.extend({
localStorage: new LocalStorage('SomeCollection'), // Uniquely identify this
});
const SomeModel = Model.extend({
localStorage: new LocalStorage('SomeModel')
});
To synchronise with the server, you can pass the ajaxSync flag to any options:
const myModel = new SomeModel();
myModel.fetch({
ajaxSync: true // Fetches from the server
});
myModel.save({
new: "value"
}, {
ajaxSync: true // Pushes back to the server
});
Backbone LocalStorage is now built using ES6. It should be fully compatible with
v1 with one difference: Instead of exporting the LocalStorage class as a
default module, v2 exports it as a named variable. Below are examples covering
the changes:
In v1:
var LocalStorage = require('backbone.localstorage');
In v2:
var localStorage = require('backbone.localstorage');
var LocalStorage = localStorage.LocalStorage;
In v1:
import LocalStorage from 'backbone.localstorage';
In v2:
import {LocalStorage} from 'backbone.localstorage';
Install NodeJS and run yarn or npm i to get your dependencies, then:
npm testOverall
Maintained
Code review
Latest release
Releases this year
661 followers · starred Oct 2010
794 followers · starred Oct 2010
1,447 followers · starred Oct 2010
159 followers · starred Jul 2013
An adapter that replaces Backbone.sync to save to window.localStorage
instead of to the server.
Note Backbone LocalStorage v2 changes the API to work more with ES6 modules. See Upgrade Notes for more details.
Import backbone.localstorage and attach it to your models and collections:
import {Collection, Model} from 'backbone';
import {LocalStorage} from 'backbone.localstorage';
const SomeCollection = Collection.extend({
localStorage: new LocalStorage('SomeCollection'), // Uniquely identify this
});
const SomeModel = Model.extend({
localStorage: new LocalStorage('SomeModel')
});
To synchronise with the server, you can pass the ajaxSync flag to any options:
const myModel = new SomeModel();
myModel.fetch({
ajaxSync: true // Fetches from the server
});
myModel.save({
new: "value"
}, {
ajaxSync: true // Pushes back to the server
});
Backbone LocalStorage is now built using ES6. It should be fully compatible with
v1 with one difference: Instead of exporting the LocalStorage class as a
default module, v2 exports it as a named variable. Below are examples covering
the changes:
In v1:
var LocalStorage = require('backbone.localstorage');
In v2:
var localStorage = require('backbone.localstorage');
var LocalStorage = localStorage.LocalStorage;
In v1:
import LocalStorage from 'backbone.localstorage';
In v2:
import {LocalStorage} from 'backbone.localstorage';
Install NodeJS and run yarn or npm i to get your dependencies, then:
npm testOverall
Maintained
Code review
Latest release
Releases this year
661 followers · starred Oct 2010
794 followers · starred Oct 2010
1,447 followers · starred Oct 2010
159 followers · starred Jul 2013