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

时间:2013-11-26 20:56:29

标签: javascript backbone.js coffeescript

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

我一直得到 TypeError:this._ensureElement不是一个函数并得到 TypeError:this._reset之前不是一个函数但我无法真正重新创建后者的确切设置。

我的脚本顺序正确:

<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()

2 个答案:

答案 0 :(得分:60)

您错过了new运营商。

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

答案 1 :(得分:0)

如果您使用帮助程序初始化视图,那么使用coffee-script可能会遇到以下问题:

@createSubView ViewClass
   model: model

咖啡脚本由于某种原因不会抱怨。但是js输出会引起问题。

以下修复了问题

@createSubView ViewClass,
   model: model

我希望这会有所帮助。 这可能是Coffee-Script团队的一张票......