Backbone.js收集错误

时间:2014-04-12 00:48:53

标签: javascript backbone.js

我已经使用Backbone创建了一个小的自动提示应用程序,它可以在自己的页面(http://www.alexbarron.co.uk/bbExample)中运行。但是当我将它集成到我的网站时,我的一个集合的this.model属性永远不会被设置。我已经调试了它,发现这是集成版本和独立版本之间的差异所在。

2页的剧本顺序是一样的。

要复制:

  1. 请访问:http://alexbarron.co.uk/projects/tree-categories-autosuggest/demos/backbone-js
  2. 键入" bat"
  3. 选择蝙蝠侠
  4. 检查控制台。从未设置Collection构造函数中的this.model。在我的独立版本中,它设置为:
  5. function (){ return parent.apply(this, arguments); }

    任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

问题是下载collection.js和model.js的顺序。 我在第一行的collection.js和model.js中放置了一个断点,这样当解释文件时,会触发断点。 最先下载了collection.js,并将模型设置为undefined,因为还没有下载包含TreeCategoriesAutoSuggest.Models.Category的model.js:

TreeCategoriesAutoSuggest.Collections.Suggestions = TreeCategoriesAutoSuggest.Collections.SelectedCategories = Backbone.Collection.extend({
    model: TreeCategoriesAutoSuggest.Models.Category
});

在index.html中,更改顺序。首先放置model.js,然后放置collection.js,如下所示。

<script type="text/javascript" src="/frontend/javascripts/projects/tree-categories-autosuggest/demos/backbone-js/models.js"></script>
<script type="text/javascript" src="/frontend/javascripts/projects/tree-categories-autosuggest/demos/backbone-js/collections.js"></script>