【发布时间】:2012-03-15 18:29:13
【问题描述】:
我正在尝试分解我在主干模型中使用的一些方法,但我不明白为什么它不起作用。
base_class.js.coffee
class MyApp.Models.BaseClass extends Backbone.Model
Linked: () =>
@._linked
Link: (form) =>
if @._linked == false
$(form).backboneLink(@, {'prefixed':true})
@._linked = true
else
$(form).backbonePopulate(@, {'prefixed':true})
Dirty: () ->
@collection.Dirty()
@._dirty = true
Clean: () ->
@._dirty = false
isDirty: () =>
@._dirty
page.js.coffee
#= require ./base_class
class MyApp.Models.Page extends MyApp.Models.BaseClass
initialize: () ->
console.log('Page Object initialized')
@._dirty = false
@changes = []
@.name = 'Page'
@._linked = false
url: () ->
'/pages/' + @id
但是当我进入控制台时
page = new MyApp.Models.Page(); #=> Page Object initialized
page.Link($('#myform')); #=> Uncaught TypeError: Object #<Page> has no method 'Link'
我不明白为什么这些方法没有被继承。
这是一个问题的 jsfiddle:http://jsfiddle.net/Y9bPX/11/
【问题讨论】:
标签: inheritance backbone.js coffeescript