我正在使用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")
});
});
第一个console.log()
给出undefined
。然后在localStorage: ...
行
未捕获的TypeError:undefined不是函数
预计Backbone.LocalStorage
为undefined
,但为什么?
答案 0 :(得分:10)
您要加载的backbone.localStorage-min.js
:
http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js
看起来已经过时了,根本没有定义Backbone.LocalStorage
。您使用的backbone.localStorage-min.js
版本定义window.Store
而不是Backbone.LocalStorage
。如果切换到(http://jsfiddle.net/ambiguous/grhz9/5/):
var Todos = Backbone.Collection.extend({
model: Todo,
localStorage: new Store("todos")
});
然后您可以构建Todos
集合。我不知道当你真正尝试使用它时,事情会有多好。 “Sun Aug 14 2011 09:53:55 -0400”在互联网时代已经很久以前了,所以版本很古老。
如果您从Github切换到最新版本:
https://raw.github.com/jeromegn/Backbone.localStorage/master/backbone.localStorage-min.js
你会发现JavaScript中存在一些差异,当你使用new Backbone.LocalStorage('todos')
时,一切都将开始工作:
答案 1 :(得分:2)
另一个答案是正确的 - 1.0已经过时了。
我已将backbone.localstorage更新为最新版本:
http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/backbone.localStorage-min.js(制作)
http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/backbone.localStorage.js(dev)
希望有所帮助!