我已经进行了一些实验,并且遇到了一些通过循环应用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()
它似乎比将它们全部“全局”绑定更有条理。这是一种不好的方法吗?
答案 0 :(得分:1)
Coffeescript
类背后的想法是全局或模块中定义它们。
在另一种类型的范围内定义一个类有点遗漏这一点。
Coffeescript
课程鼓励更多ruby
- 类别的视图与实例分开,同时保留您能够根据需要应用它们所获得的力量。
简而言之,最好在顶层使用Coffeescript
类,或者从模块中导出并要求它们。