未触发组件的 onchange 事件
component's onchange event not triggered
我猜这可能是故意的,但在文档中找不到提及。 (如果是故意的,我会做一个 PR 来澄清文档)。
我的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}
})
如果我在组件中更改数据:
flintstones.findAllComponents('person')[1].set('name','Wilma')
没有 'onchange' 事件记录到控制台。但是,如果打火石 Ractive 实例配置了 'onchange' 处理程序,则记录组件中的数据设置。
有意或错误还是我做错了什么?
onchange
事件仅针对组件实例拥有(引入)的数据触发。
使用 this.observe(...)
通知组件中使用的任何数据的更改,无论数据来自何处。
我猜这可能是故意的,但在文档中找不到提及。 (如果是故意的,我会做一个 PR 来澄清文档)。
我的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}
})
如果我在组件中更改数据:
flintstones.findAllComponents('person')[1].set('name','Wilma')
没有 'onchange' 事件记录到控制台。但是,如果打火石 Ractive 实例配置了 'onchange' 处理程序,则记录组件中的数据设置。
有意或错误还是我做错了什么?
onchange
事件仅针对组件实例拥有(引入)的数据触发。
使用 this.observe(...)
通知组件中使用的任何数据的更改,无论数据来自何处。