1

我已经开始学习 Backbone.js 并尝试使用 Collections 编写我的第一个应用程序。这是代码:

console.clear();
(function($){

   window.App = {

      Models : {},
      Collections : {},
      Views : {}

   };



   //a single estimate
   App.Models.Estimate = Backbone.Model.extend({});

   // multiple esitmates
   App.Collections.Estimates  = Backbone.Collection.extend({


      model : App.Collections.Estimate


   });


   App.Views.Estimates = Backbone.View.extend({
      tagName: 'ul',


      render : function(){

      this.collection.each(this.addTo,this);

   },
      addTo:function(estimate){

         var dir = App.Views.Estimate({model:estimate}).render();
         this.$el.append(dir.el);

      }





   });


   App.Views.Estimate  = Backbone.View.extend({
      tagName: 'li',


      render :function(){

         this.$el.html(this.model.get('title'));
         return this;
      }


   });



   var jSon = [{title:'Abhiram', estimate:8}];
   var estimates = new App.Collections.Estimates(jSon);
    console.log(estimates);

   var tasksView = new App.Views.Estimates({collection:estimates});
  // var a = tasksView.render().el;
   //console.log(a);

})($j||jQuery);

我已经包括了所有三个:

首先是 jQuery,其次是下划线,然后是 Backbone。我不断收到“未定义不是函数”。如果我做错了什么,请告诉我。

谢谢!

4

1 回答 1

2

您确定要将集合App.Collections.Estimate作为模型分配给它自己吗?

// multiple esitmates
App.Collections.Estimates  = Backbone.Collection.extend({
    model : App.Collections.Estimate
});
于 2013-04-05T11:17:50.343 回答