我发现自己处于一种情况,我想从父 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 的方法中调用任何组件实例上的 uselessFunction 的某种方法(或者在所有实例上更好)。
当然有许多可能的解决方法(比如在组件中使用观察者,然后更改一些共享属性)来实现这一点,但我希望有一些内置的接口。唉,尽管我筛选了 myRactive 对象,但我似乎找不到对组件实例的引用。虽然我怀疑有一个,但看到 myComponent 的 teardown() 也会在每个组件上调用 teardown() 。