错误不是构造函数

时间:2014-11-20 07:24:54

标签: firefox backbone.js requirejs undefined backbone-collections

我是骨干和新手的新手...... 我正在一个小型的画廊应用程序,我在firefox firebug中遇到此错误,在Chrome中它没有显示任何错误chrome开发工具...请帮我这个 这是我的代码 PhotosCollectionjs

define([
'jquery',
'underscore',
'backbone',
'models/thumb/PhotoModel'
], function ($, _, Backbone, PhotoModel) {
var PhotosCollection = Backbone.Collection.extend({
    model: PhotoModel,
    url: '/photos?query=xxx',
    fetch: function (options) {

        options = options || {};
        .......
        Backbone.Collection.prototype.fetch.call(this, options);
    },
    parse: function (response) {
          ......
        return response.photos;
    }

});

return PhotosCollection;
 });

loadphotos js

 define([
 'jquery',
  'underscore',
  'backbone',
   'collections/thumb/PhotosCollection'

    ], function ($, _, Backbone, PhotosCollection) {
console.log(PhotosCollection); .... undefined(firebug) ... function (){return r.apply(this,arguments)} (chrome dev tool)

var loadPhotos = function (container, options) {
    var photos;
    photos = void 0;
    if (options) {
        photos = new PhotosCollection();

        options.collection = photos;

    }
   .....................
    ................
};
return loadPhotos;
 });
在萤火虫中,它给出了错误 TypeError:PhotosCollection不是构造函数

photos = new PhotosCollection();

修改 它暂时解决了......但是现在又经过几次刷新我在firebug中收到同样的错误但没有错误的铬...请有人帮帮我

编辑2 试验和错误我发现它只在调试时使用断点....如果我删除所有断点它没有给出错误...是否与异步加载脚本或其他东西有关???

1 个答案:

答案 0 :(得分:0)

我刚刚在PhotosCollection js中初始化,现在它没有给出任何错误...我不知道究竟是什么问题,但它已经解决了..... 但是我有兴趣了解它的原因...因为只有firebug抛出错误而且chrome没有...请给我一些见解

这是我的新photosCollection js与空白初始化....

   define([
  'jquery',
 'underscore',
 'backbone',
 'models/thumb/PhotoModel'
 ], function ($, _, Backbone, PhotoModel) {
 var PhotosCollection = Backbone.Collection.extend({
 model: PhotoModel,
url: '/photos?query=xxx',
 initialize:function(options){},
fetch: function (options) {

    options = options || {};
    .......
    Backbone.Collection.prototype.fetch.call(this, options);
},
parse: function (response) {
      ......
    return response.photos;
}

  });

return PhotosCollection;
});