Вопрос по – Магистральное локальное хранилище «undefined не является функцией»

6

я использую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")
    });
});​

1-йconsole.log() даетundefined, Тогда есть ошибка вlocalStorage: ... линия

Uncaught TypeError: undefined is not a function

Ожидается сBackbone.LocalStorage являетсяundefined но почему?

@josnidhin, да я сделал как в jsFiddle Jiew Meng
Он находится в разделе «Ресурсы». Вкладка. Blender
Добавили ли вы & lt; script type = & quot; text / javascript & quot; SRC = & Quot; backbone.localStorage.js & Quot; & GT; & Lt; / сценарий & GT; после загрузки backbone.js Josnidhin

Ваш Ответ

2   ответа
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 коллекция. Я не знаю, насколько хорошо все будет работать, хотя вы на самом деле пытаетесь его использовать. & quot; Вс 14 августа 2011 09:53:55 -0400 & quot; в интернете почти всегда, так что эта версия довольно старая.

Если вы переключитесь на последнюю версию с Github:

https://raw.github.com/jeromegn/Backbone.localStorage/master/backbone.localStorage-min.js

вы увидите, что в JavaScript есть несколько отличий, и все начнет работать, когда вы используетеnew Backbone.LocalStorage('todos'):

http://jsfiddle.net/ambiguous/grhz9/4/

По состоянию на 2 февраля CDN обновлен :) Смотрите ответ @ RyanKirkman.
Я так думаю, есть пара открытых вопросов наCDN's github pageнадеюсь, они все исправят.
Все исправлено:cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.0/…
По состоянию на 1 февраля 2013 г. CloudFlare's cdnjs по-прежнему обслуживает устаревшую копию от 14 августа 2011 г. У меня была та же проблема, я не думал проверить, была ли обновлена версия cdnjs.
@ joemaller: Интересно, это проблема с номером версии?github Страница говорит v1.0 и говорит оBackbone.LocalStorageвозможно старыйwindow.Store версия была также помечена как v1.0.
2

Я обновил 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)

Надеюсь, это поможет!

+1 за довольно хороший сервис :)

Похожие вопросы