调用Backbone集合的fetch函数时,"未定义不是函数"错误

Aja*_*kur 0 javascript backbone.js backbone.js-collections

调用fetch函数时出错.

Undefined is not a function Error in Backbone js 
Run Code Online (Sandbox Code Playgroud)

var models = Backbone.Model.extend({
  userId: function() {
    return this.get('userId');
  },
  id: function() {
    return this.get('id');
  },
  body: function() {
    return this.get('body');
  }
});
//Collections
var todolistStore = Backbone.Collection.extend({
  url: function() {
    return 'https://jsonplaceholder.typicode.com/posts'
  },
  model: models,
  parse: function(response) {
    return response;
  }
});
todolistStore.fetch();
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore-min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

Jon*_*lin 5

有几个问题.我正在建立@ChrisG的答案.

  1. 您需要实例化一个集合.这是我的代码:

    var Model = Backbone.Model.extend({
        userId: function() {
            return this.get('userId');
        },
        id: function() {
            return this.get('id');
        },
        body: function() {
            return this.get('body');
        }
    });
    
    //Collections
    var TodoListStore = Backbone.Collection.extend({
        url: function() {
            return 'https://jsonplaceholder.typicode.com/posts'
        },
        model: Model,
        parse: function(response) {
            return response;
        }
    });
    
    var todolistStore = new TodoListStore();
    todolistStore.fetch();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我更新了Underscore和Backbone的版本

    https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone -min.js