javascript - 未捕获的类型错误 : MyView is not a function

标签 javascript backbone.js

我创建了 my-view.js 文件,如下所示:

(function (Backbone) {
  var MyView = Backbone.View.extend({
    className: 'card my-card',
    template: $('#my-template').html(),
    initialize: function(options) {
      this.render()
    },
    render: function() {
      var html = _.template(this.template);
      this.$el.html(html);
      return this;
    }
  });

  app.modules.MyView = MyView;
}(window.Backbone);

在app-controller.js中,我写了如下:

(function (Backbone) {
  var MyDayCardView = app.modules.MyView,  
  var AppController = Backbone.View.extend({
    initialize: function(){  
      var self = this;
    },
    appStart: function() {
      this.MyDayCardView = new MyDayCardView();
      self.$el.append(this.MyDayCardView.el);
    }
  });

  app.controllers.AppController = new AppController();    
}(window.Backbone);

然后我得到了错误:

Uncaught TypeError: MyView is not a function Backbone.View.extend.appStart @ app-controller.js:

我哪里做错了?

最佳答案

您有一些语法问题,请参阅下面的代码

var app={};
app.modules={};
app.controllers={};
// Add your javascript here
(function (Backbone) {
  var MyView = Backbone.View.extend({
    className: 'card my-card',
    template: $('#my-template').html(),
    initialize: function(options) {
      this.render()
    },
    render: function() {
      var html = _.template(this.template);
      this.$el.html(html);
      return this;
    }
  });

  app.modules.MyView = MyView;
}(window.Backbone));

(function (Backbone) {
  var MyDayCardView = app.modules.MyView,  
   AppController = Backbone.View.extend({
    initialize: function(){  
      var self = this;
    },
    appStart: function() {
      this.MyDayCardView = new MyDayCardView();
      self.$el.append(this.MyDayCardView.el);
    }
  });

  app.controllers.AppController = new AppController();    
}(window.Backbone));

关于javascript - 未捕获的类型错误 : MyView is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32687335/

相关文章:

javascript - 获取 javascript 和优雅降级的问题 - 图像滚动器

javascript - 如何使用Thymeleaf的blur/onblur事件来调用函数?

javascript - Backbone.js fetch() 大集合导致脚本卡住

javascript - 按索引选择元素(同一类的多个元素)

javascript - ReactiveVar 在 Meteor 中未按预期工作

javascript - 如何延迟 KO 结合直到加载外部模板?

javascript - 将一个模板注入(inject)另一个模板

javascript - 如何在 Jasmine 中编写以下测试

javascript - 启动 backbone.js 历史记录时无法调用未定义的 'start'。

javascript - Backbone.Marionette - 如何使用 CompositeView 在模板中添加静态 html 内容?