:编辑:。 如果您遇到同样的问题,请检查变量初始化,我忘了 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()
答案 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团队的一张票......