javascript - Coffeescript 和 Backbone.js - TypeError : this. _ensureElement 不是函数

标签 javascript backbone.js coffeescript

.:编辑:. 如果您遇到同样的问题,请检查您的变量初始化,我忘记了new

我不断收到 TypeError: this._ensureElement is not a function 并在早些时候收到 TypeError: this._reset is not a function 但我无法真正重新创建后者的精确设置。

我的脚本顺序正确:

<script src="js/components/jquery.js"></script>
<script src="js/components/underscore.js"></script>
<script src="js/components/backbone.js"></script>
<script src="js/script.js"></script>

我的模型是在我的收藏之前注册的。

这是一个购物车应用程序。

#namespacing

App =
  Collection : {}
  Model : {}
  View : {}

###
MODEL
###

class ModelItem extends Backbone.Model

  #default values

  defaults:
    name : 'Product Name' 
    quantity : 0
    unit : 'kg'

  #Increase or decrease the quantity

  change_quantity : (type) ->
    qty = @get 'quantity'
    @set 'quantity', if type is 'increase' then ++qty else --qty

###
COLLECTION
###

class CollectionItems extends Backbone.Collection

  model: ModelItem

###
VIEW
###

class ViewItems extends Backbone.View

window.view = ViewItems()
window.item = ModelItem()

最佳答案

您缺少 new 运算符。

window.view = new ViewItems()
window.item = new ModelItem()

关于javascript - Coffeescript 和 Backbone.js - TypeError : this. _ensureElement 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20227801/

相关文章:

javascript - JQuery `live()` 和 `submit()` 问题

javascript - Marionette ItemView 未发出 "change"事件

javascript - 警报多次触发backbonejs窗口

javascript - Ember.js 使用路由器架构获取父路由的 Controller

javascript - Rails JS 委托(delegate)事件在加载时触发?

javascript - 如何使表单数据在刷新后不消失?

javascript - map 在第一次打开页面时不加载,重新加载后即可工作

javascript - 具有相对目标的动态文件映射

ruby-on-rails - Backbone.js 的表单构建器插件?

javascript - coffeescript 一直在函数范围之外编译缩进代码