Я оказался в ситуации, когда я хотел бы получить доступ к экземплярам, созданным из компонента Ractive, из родительского Ractive. Например.
var myComponent = Ractive.extend(
{
uselessFunction: function()
{
alert('Hello ' + this.data.who);
}
}
);
var myRactive = new Ractive(
{
el: 'body',
components:
{
mycomponent: myComponent
},
template: '{{#people}}<rv-mycomponent who="{{.}}"/>{{/people}}',
data:
{
people:
[
'Mike',
'Charly',
'April'
]
}
}
);
Запустив это, я получу 3 экземпляра myComponent. Теперь я хотел бы иметь какой-то способ вызвать бесполезную функцию для любого экземпляра компонента из метода myRactive (или даже лучше для всех экземпляров).
Конечно, есть много возможных обходных путей (например, использование наблюдателей в компонентах, а затем изменение некоторого общего свойства) для достижения этой цели, но я надеялся на какой-то встроенный интерфейс. Увы, сколько бы я ни просеивал myRactive Object, я не могу найти ссылку на экземпляры компонентов. Хотя я подозреваю, что он есть, поскольку метод teardown() myComponent также вызывает метод teardown() для каждого компонента.