Я пытаюсь вырвать некоторые методы, которые я использую по моим базовым моделям, и я не понимаю, почему он не работает.Coffeescript Backbone extends/Class Inheritance
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'
Я не понимаю, почему методы Арен» t наследуется.
Вот jsfiddle вопроса: http://jsfiddle.net/Y9bPX/11/
+1 для значительного пробела. – Soviut