Require.js와 함께 Backbone.js 프레임 워크에서 작업하는 동안 일부 데이터를 localStorage에 저장하려고합니다.Backbone.js를 사용하여 localStorage에 데이터를 저장할 수 없습니다.
그러나, 나는 다음과 같은 오류가 발생합니다 :
Uncaught Error: A "url" property or function must be specified
이 오류의 원인이 수 있는지에 대한 어떤 단서? 빠른 Google은 Backbone.sync가 설정되어야하지만 localStorage 어댑터가 저를 위해 이미 그렇게하지 않았는가? 내가 뭘 놓치고 있니? 편집 - -
노선과 같습니다
define([
'underscore',
'backbone'
], function(_, Backbone){
var ScoreModel = Backbone.Model.extend({
});
return ScoreModel;
});
이 ...
require.config({
paths: {
// Major libraries
jquery: 'libs/jquery/jquery.min',
underscore: 'libs/underscore/underscore.min',
backbone: 'libs/backbone/backbone.min',
// Require.js plugins
text: 'libs/require/text',
// Backbone.js plugins
localstorage: 'libs/backbone/localstorage.min',
// Just a short cut so we can put our html outside the js dir
// When you have HTML/CSS designers this aids in keeping them out of the js directory
templates: '../templates'
}
});
...
define([
'underscore',
'backbone',
'models/score',
'localstorage'
], function(_, Backbone, ScoreModel, Store){
var ScoreCollection = Backbone.Collection.extend({
model: ScoreModel,
localStorage: new Store("ScoreCollection")
});
return ScoreCollection;
});
: 여기
는 몇 가지 관련 코드 조각입니다 다음과 같습니다 :define([
'jquery',
'underscore',
'backbone',
'views/scores/list',
'views/scores/add'
], function($, _, Backbone, ScoreListView, ScoreAddView){
var AppRouter = Backbone.Router.extend({
routes: {
'scores': 'showScores',
'scores/add': 'addScore',
'*actions': 'defaultAction'
}
});
var initialize = function(){
var app_router = new AppRouter;
app_router.on('route:showScores', function(){
var scoreListView = new ScoreListView();
scoreListView.render();
});
app_router.on('route:addScore', function(){
var scoreAddView = new ScoreAddView();
scoreAddView.render();
});
app_router.on('route:defaultAction', function(){
console.log('No route');
});
Backbone.history.start();
}
return {
initialize: initialize
};
});
- UPDATE는 -
분명히,이 모델은 컬렉션에 링크 될 것 같지 않습니다. 따라서 컬렉션의 localStorage 집합은 모델에 적용되지 않습니다. 모델에 localStorage를 명시 적으로 설정하면 제대로 작동합니다. 하지만 내가 뭘 놓치고 있는지 누가 알 수 있니?
'경로'를 볼 수 있습니까? – Mohsen
@Mohsen : 경로를 포함하도록 편집 됨. 고마워 :) – mushroom