javascript - Ember 组件查找/调试/测试

标签 javascript debugging testing ember.js lookup

如何从另一个 Controller 访问 ember 组件的 Controller ? 有没有像__container__.lookup这样的后门方式只是为了知道有这个组件实例吗? 当我尝试 __container__.lookup"component:<myComponentname>"它给了我一个组件的实例,该实例没有在应用程序的任何地方使用。

TL;DR
如何测试 Ember 组件对象?

最佳答案

These linesember-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/

相关文章:

java - 如何从 selenium 框架中拆分 selenium 测试类?

javascript - 使用 Papa Parse 等待两个或更多文件加载

javascript - flex 布局 : show first element when two child elements are in the same row

java - 使用 System.out.println 语句检测 java 源文件?

ASP.NET 应用程序针对 NHibernate 抛出 "unable to find assembly"错误

iPhone 开发者 : Xcode debugger does not stop on breakpoints

ruby-on-rails - method_missing 当 `rake test` 加载模型时,尽管如果 Rails 加载模型则正确加载

java - 在 jUnit 的 assertEquals() 方法中计算 expected_value 的最佳方法是什么

javascript - 这不是应用程序(*)漏洞吗? (JavaScript 和 HTTP)

javascript - 如何在 kineticjs 中同时使用 draggable 和 double click?