如何从另一个控制器访问ember组件的控制器?
是否有像__container__.lookup
这样的后门方式才知道有这个组件实例?
当我使用__container__.lookup
尝试"component:<myComponentname>"
时,它给了我一个组件实例,该组件未在应用程序的任何位置使用。
TL; DR
如何测试Ember Component对象?
答案 0 :(得分:2)
Ember.Component
实例或1.x中的Ember.View
实例的映射。
viewRegistry: computed('application', function() {
return this.get('application.__container__').lookup('-view-registry:main') || View.views;
}),
所以如果你的DOM中有一个Ember组件,比如
<span id="ember1234">Hi I'm controlled by Ember</span>
你可以像
那样查找var viewRegistry = application.__container__.lookup('-view-registry:main') || View.views;
var myComponentInstance = viewRegistry.ember1234;