2
如何從另一個控制器訪問ember組件的控制器? 只有知道存在此組件的實例時,是否有像__container__.lookup
這樣的後門方式? 當我試着__container__.lookup
與"component:<myComponentname>"
它給了我一個組件的實例沒有在應用程序的任何地方使用。Ember組件查找/調試/測試
TL; DR
如何測試Ember組件對象?
如何從另一個控制器訪問ember組件的控制器? 只有知道存在此組件的實例時,是否有像__container__.lookup
這樣的後門方式? 當我試着__container__.lookup
與"component:<myComponentname>"
它給了我一個組件的實例沒有在應用程序的任何地方使用。Ember組件查找/調試/測試
TL; DR
如何測試Ember組件對象?
的ember-inspectorThese lines透露如何獲得「查看註冊表,」 DOM元素ID的灰燼2.X映射到它們各自的Ember.Component
實例或Ember.View
比如在1.x中
viewRegistry: computed('application', function() {
return this.get('application.__container__').lookup('-view-registry:main') || View.views;
}),
所以,如果你在你的DOM灰燼成分像
<span id="ember1234">Hi I'm controlled by Ember</span>
,你可以看看它像
var viewRegistry = application.__container__.lookup('-view-registry:main') || View.views;
var myComponentInstance = viewRegistry.ember1234;
這我下面截至目前骯髒的黑客...是我得到包含容器的div的ID,並從Ember.View.views [「ember_id_」]訪問它的實例 –
所以你基本上想要從另一個控制器訪問控制器?是對的嗎? – mavilein
特定組件實例的控制器不是任何其他常規控制器。 –