gpt4 book ai didi

backbone.js - 您如何在Coffeescript中进行匿名类(class)?

转载 作者:行者123 更新时间:2023-12-04 13:21:01 25 4
gpt4 key购买 nike

我有一个工作的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())
)

这个习惯用法的目的是提供一个边栏 View 列表,然后将这些边栏 View 合并到一起,同时提供覆盖或增强小部件的一种或多种方法的机会(但不是必须的)。

让我感到讨厌的是,对于那些不需要修改的 View ,仍然需要使用Coffeescript的类语法对其进行显式命名。

有没有办法使用Coffeescript语法创建匿名类?您能说点什么(以下是伪代码):
thisclass = extend BackboneView
initialize: (options) ->

如果是这样,怎么办?

最佳答案

thisclass = class extends BackboneView
initialize: (options) ->

关于backbone.js - 您如何在Coffeescript中进行匿名类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5982470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com