主干监听属性更改

Posted

技术标签:

【中文标题】主干监听属性更改【英文标题】:Backbone listenTo propertchange 【发布时间】:2015-09-08 07:25:49 【问题描述】:

我有一个 ItemView 需要监听输入和属性更改(对于旧 IE 版本)。输入事件工作正常,但 propertychange 似乎没有被绑定

events:
 'input .textArea': 'someFunction'
 'propertychange .textArea': 'someFunction'

当我使用 onoff 明确设置它时它确实绑定了。

@textArea.on, 'input propertychange', someFunction

这只是一个无法通过ItemView的events绑定的事件吗?

虽然我知道listenTo 的文档可用于backbone.js 上的事件列表。有没有一种方法可以通过该方法绑定两个事件。即

 @listenTo textArea, 'input properychange', someFunction

P.S 我在events 中尝试过onpropertychange,它也不起作用。此外,它需要是 propertychange 而不是 keypress/keyup 等事件

【问题讨论】:

(1) propertychange 会冒泡吗?请记住,Backbone 视图事件是通过委托处理的。 (2) listenTo 用于Backbone 事件,而不是DOM 事件。 贴出绑定事件的相关代码? 【参考方案1】:
'input .textArea': 'someFunction'

不应该是这样的

'input.textArea': 'someFunction'

相反? selecto 'input .textArea' 表示输入中有一个类名为 textArea 的元素。可能不是你想要的……

【讨论】:

只是一堆伪代码。实际上并不是要传达我所问的真正问题。 贴出相关的实际代码,或许有人能找到问题所在? 问题在于“propertychange”而不是输入。问题已解决,此票应关闭

以上是关于主干监听属性更改的主要内容,如果未能解决你的问题,请参考以下文章

监听getter的Vuex计算属性不更新

在视图控制器中创建 Publishable 属性,将其传递给 SwiftUI 视图并监听视图控制器内部的更改?

AngularJs 应用程序无法监听来自另一个窗口的 localStorage 更改

Google Polymer:从元素外部监听属性变化

监听特定的 Store 属性变化

vue 是如何深度监听data的变化的