主干和引导日期选择器
Posted
技术标签:
【中文标题】主干和引导日期选择器【英文标题】:backbone and bootstrap-datepicker 【发布时间】:2013-03-20 05:14:46 【问题描述】:我有一个 Rails 应用程序,我正在尝试在我的视图中添加一些交互式内容。所以我有一个用于 datepicker 的 bootstrap-datepicker-rails gem 和用于数据处理的主干.js。但是当我尝试收听 datepicker 的 'changeDate' 事件时,我得到了一些错误。视图中的挂钩事件根本不起作用,只是不会调用该方法:
events:
'changeDate #dpstart': 'tryit'
tryit: ->
console.log(this)
this
当我尝试在路由器中捕获事件时,我无法访问我的集合:
initialize: ->
@datepicker = $('#dpstart').datepicker(
"format": "yyyy-mm-dd",
"weekStart": 1,
"autoclose": true
)
@datepicker.on('changeDate', @refetch, this)
这样会产生错误,因为它无法获取 this 上下文,并且
initialize: ->
@datepicker = $('#dpstart').datepicker(
"format": "yyyy-mm-dd",
"weekStart": 1,
"autoclose": true
)
@datepicker.on('changeDate', @refetch)
这种方式运行良好,但在@refetch 中我没有获得主干上下文,因此无法访问模型。我该怎么办?
【问题讨论】:
【参考方案1】:用this 自己绑定上下文(因为你有下划线或lowdash)。或者使用 Backbone 中的 this method 进行绑定(更好)。
关于第一个没有被调用的原因,请确保 datepicker 方法返回的是您将其绑定到的 jQuery 元素 ($('#dpstart'))。我不这么认为,所以你基本上听错了我的假设。
【讨论】:
ListenTo() 方法看起来就像完美匹配,但它产生的错误与我的第二个代码段中的错误相同。现在将尝试您建议的第一种方法。 =( 我仍然对第二段代码感到困惑。你能粘贴确切的错误吗? @TimurMinulin 当然。 Uncaught TypeError: Object #return this.listenTo(this.datepicker, 'changeDate', this.tryit);
以上是关于主干和引导日期选择器的主要内容,如果未能解决你的问题,请参考以下文章