0

在 batman.js 中使用 , 等datepickerjQuery插件的最佳方式是什么?chosen我找到了data-mixin助手,但没有关于如何使用它的文档和示例。我也发现了这个问题:https ://github.com/Shopify/batman/issues/199 ,但我又无法让它工作,因为它也没有记录。

理想情况下,我想做这样的事情:

#helpers/application_helper.js.coffee
datePicker: (field) ->
  $(field).datepicker()

#some_view.html
<input data-helper="datePicker" ... >
4

2 回答 2

1

最后我得出了结论:在特定操作结束时调用插件。例如:

#controllers action
new: (params) ->
  #some logic here
  @view = @render()
  @view.on 'ready', =>
    $('#project_due_date').datepicker()

取自:https ://groups.google.com/forum/?fromgroups#!topic/batmanjs/dkYg7ijpaQI

但它看起来不像 DRY 解决方案。我仍在寻找更优化的东西。

于 2012-06-30T10:11:25.747 回答
1

我还没有使用它们。但是,我认为您应该能够使用“AfterFilters 之后的真正” afterFilters。哪些是 afterFiler,但它们最近已被修改,因此它们会在 DOM 渲染后触发。

通过查看测试,您应该能够为操作指定它们。这应该使您成为 DRY 并且仅在 afterFilter 中包含特定操作的代码。

test 'afterFilters on outer actions should fire after afterFilters on inner actions', 1, ->
  order = []
  class TestController extends Batman.Controller
    @afterFilter 'show', -> order.push 1
    @afterFilter 'test', -> order.push 2
    show: -> @render false
    test: ->
      @render false
      @executeAction 'show'

  @controller = new TestController
  @controller.dispatch 'test'
  deepEqual order, [1, 2]
于 2012-07-02T03:57:12.283 回答