Elf*_*erg 6 coffeescript backbone.js
我有一个有效的coffeescript/backbone成语,如下所示:
SidebarWidgets = ((() ->
SidebarWidgets = { }
class SidebarWidgetPrototype extends Backbone.View
initialize: (options) ->
@template = $(options.templateId).html()
render: () ->
$(@el).html(_.template(@template, @model.toJSON()))
@el
class SidebarWidgets.user extends SidebarWidgetPrototype
class SidebarWidgets.shoppingcart extends SidebarWidgetPrototype
class SidebarWidgets.messages extends SidebarWidgetPrototype
SidebarWidgets
)())
class Sidebar extends Backbone.View
views: ['user', 'shoppingcart', 'messages']
initialize: (options) ->
@subviews = { }
_.each(@views,(v) =>
subviews[v] = news SidebarWidgets[v](
model: cxDatasets[v]
id: 'sidebar-' + v
templateId: '#sidebar-' + v + 'template'
)
)
render: () ->
$(@el).html()
_.each(@views, (v) =>
$(@el).append(@subview(v).render())
)
Run Code Online (Sandbox Code Playgroud)
这个习惯用法的目的是提供侧边栏视图将包含的骨干视图列表,同时提供覆盖或增强窗口小部件的一个或多个方法的机会(但不是必要).
这惹恼我的事情是,对于那些确实观点并不需要修改,可他们仍然需要通过的CoffeeScript的类语法明确指定.
有没有办法用Coffeescript语法创建一个匿名类?你能说出类似的东西(以下是伪代码):
thisclass = extend BackboneView
initialize: (options) ->
Run Code Online (Sandbox Code Playgroud)
如果是这样,怎么样?
mat*_*tyr 16
thisclass = class extends BackboneView
initialize: (options) ->
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1807 次 |
| 最近记录: |