1

を動作しません:.fetch()コレクションBACKBONE.JS私は、データを取得するAPIのURLを呼び出し、ビューに渡すが、プロパティを取得使用しているときにエラーが発生したしたい

Uncaught TypeError: Cannot read property 'localStorage' of undefined 
    at G.d.Backbone.sync (backbone.localStorage-min.js:8) 
    at G.d.fetch (backbone-min.js:23) 
    at G.d.initialize (backbone:120) 
    at G.d.g.Collection (backbone-min.js:18) 
    at new G.d (backbone-min.js:38) 
    at backbone:137 

コード:

var app = {}; 
 
app.postCollection = Backbone.Collection.extend({ 
 

 
    url: 'https://jsonplaceholder.typicode.com/comments', 
 
    initialize: function(){ 
 
    this.fetch({ 
 
     success: this.fetchSuccess, 
 
     error: this.fetchError 
 
    }); 
 
    }, 
 

 
    fetchSuccess: function (collection, response) { 
 
    console.log('Collection fetch success', response.data); 
 
    /*console.log('Collection models: ', this.models);*/ 
 
    }, 
 

 
    fetchError: function (collection, response) { 
 
    throw new Error(" fetch error"); 
 
    } 
 

 
}); 
 

 
try { 
 
    app.postcollection = new app.postCollection(); 
 
} 
 
catch (e) { 
 
    console.log(e.message); 
 
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 
 
    \t \t <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js" type="text/javascript"></script> 
 
    \t \t <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script> 
 
    \t \t <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.0/backbone.localStorage-min.js" type="text/javascript"></script>

答えて

1

あなたがのlocalStorageの古いバージョンを使用しています。 https://cdnjs.cloudflare.com/ajax/libs/backbone-localstorage.js/1.1.16/backbone.localStorage.js

また例えば、新しいバージョンに更新し、あなたはlocalStorage: new Backbone.LocalStorage("SomeCollection"),

Working JSFiddle

のようなコレクションに localStorageプロパティを指定する必要があります
関連する問題