I am using Backbone.LocalStorage
: http://jsfiddle.net/jiewmeng/grhz9/3/
$(function() {
console.log(Backbone.LocalStorage); // undefined!!
var Todo = Backbone.Model.extend({});
var Todos = Backbone.Collection.extend({
model: Todo,
localStorage: new Backbone.LocalStorage("todos")
});
});
The 1st console.log()
gives undefined
. Then there an error at the localStorage: ...
line
Uncaught TypeError: undefined is not a function
Expected since Backbone.LocalStorage
is undefined
but why?
The other answer is correct - 1.0 is out of date.
I've updated backbone.localstorage to the latest version:
http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/backbone.localStorage-min.js (production)
http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/backbone.localStorage.js (dev)
Hope that helps!
The
backbone.localStorage-min.js
you're loading:looks like it is out of date and it doesn't define
Backbone.LocalStorage
at all. The version ofbackbone.localStorage-min.js
that you are using defineswindow.Store
rather thanBackbone.LocalStorage
. If you switch to that (http://jsfiddle.net/ambiguous/grhz9/5/):then you can get past building your
Todos
collection. I don't know how well things will work when you actually try to use it though. "Sun Aug 14 2011 09:53:55 -0400" is pretty much forever-ago in internet time so that version is rather antique.If you switch to the latest version from Github:
you'll see that there are a few differences in the JavaScript and everything will start working when you use
new Backbone.LocalStorage('todos')
: