组件的onchange事件未触发
问题描述:
我猜这可能是有意的,但在文档中找不到。 (如果是故意的,我会通过公关来澄清文档)。组件的onchange事件未触发
我的html:
<div id='container'/>
和我的javascript:
Person = Ractive.extend({
template : '<p>{{name}}</p>',
onchange : function(obj){console.log(obj)}
})
flintstones = new Ractive({
el : '#container',
template : "{{#names}}<person/>{{/}}",
data : {names : [{id:1, name:"Fred"},{id: 2, name:"Barney"}]},
components : {person : Person}
})
如果我在A组份数据的变化:
flintstones.findAllComponents('person')[1].set('name','Wilma')
没有'onchange'事件记录到控制台。但是,如果Rint实例使用'onchange'处理程序进行配置,则会记录设置组件中的数据。
故意或错误或我在这里做错了什么?
答
onchange
事件仅对组件实例拥有(引入)的数据触发。
使用this.observe(...)
将被通知有关组件内使用的任何数据的更改,而不管数据来自何处。