Javascript CoffeeScript-通过循环应用类?

Javascript CoffeeScript-通过循环应用类?,javascript,coffeescript,Javascript,Coffeescript,我已经做了一些实验,并且遇到了一些通过循环应用CS“类”的情况 例如: if ($areas = $('.itemParent')).length >= 1 class SomeClass constructor: (el) -> @$parent = el @$overflow = el.find('.overflow') @$items = @$overflow.find('.item

我已经做了一些实验,并且遇到了一些通过循环应用CS“类”的情况

例如:

if ($areas = $('.itemParent')).length >= 1
    class SomeClass
        constructor: (el) ->
            @$parent = el
            @$overflow = el.find('.overflow')
            @$items = @$overflow.find('.item')

            @max = @$items.length - 1
            @current = 0

        # Gets us to an area
        goToItem: (i) ->
            @$overflow.animate
                scrollLeft: @$items.eq(i).position().left
            , 450, 'easeInOutQuad'

        # Binds each item
        bindItems: ->
            @$parent.find('.item').bind 'click tap', (e) =>
                el = $(e.target).parents('.item')

                @$items.removeClass('active')
                el.addClass('active')

                @goToItem(el.index())
            @

    # Iterate and apply the structure to all areas
    $areas.each -> 
        area = new SomeClass($(@))
        area.bindItems()

它似乎比“全球”绑定它们更结构化。。这是一种糟糕的方法吗?

Coffeescript类背后的思想是全局定义它们或在模块中定义它们

在另一种类型的范围内定义一个类有点遗漏了要点

Coffeescript
类鼓励将类与实例分开,以更具
ruby
风格的观点看待类,同时保留您可以根据需要应用它们的能力


简单地说,最好在顶层使用
Coffeescript
类,或者从模块中导出并要求它们

一些似乎有意义的场合
请列出这些场合。例如,在一个页面上有多个“幻灯片放映”。你是说幻灯片放映类的多个实例?基本上。就像我在多个区域的网站上有“.slideshow”,它们都有不同的幻灯片/寻呼机/导航(但结构类似)。应用该类将在每个节点上自动播放/bind/etc。似乎是一种枯燥的方法?这很好,但是为什么每次都需要重新声明类函数呢?