如何从另一个 Controller 访问 ember 组件的 Controller ?
有没有像__container__.lookup
这样的后门方式只是为了知道有这个组件实例吗?
当我尝试 __container__.lookup
与 "component:<myComponentname>"
它给了我一个组件的实例,该实例没有在应用程序的任何地方使用。
TL;DR
如何测试 Ember 组件对象?
最佳答案
These lines的ember-inspector揭示如何获取“ View 注册表”,即 DOM 元素 id 到 Ember 2.x 中各自的 Ember.Component
实例或 1 中的 Ember.View
实例的映射.x.
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;
关于javascript - Ember 组件查找/调试/测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442577/