我的目标是解决通用组件是组件不存在。它成功地做到这一点是这样的:EmberJS:如何检查组件是否存在(在另一个组件中)?
// app/components/dynamic-widget.js
...
widgetName: function() {
var name = this.get('config.name');
if (!this.container.resolve('component:'+name)) {
name = 'generic-widget';
}
return name;
}.property('config.name')
...
然后在app/templates/components/dynamic-widget.hbs
:
{{component widgetName}}
然后,我可以用我的dynamic-component
这样的:
{{dynamic-widget 'foo-widget'}}
如果foo-widget
没有实现,它回退到generic-widget
。
但由于EmberJS 1.11,解决从组件的容器组件被弃用:
DEPRECATION: resolve should be called on the registry instead of the container
所以我的问题是,我怎么能检查,如果不使用this.container.resolve
实际存在的一个组成部分?
非常感谢。
你找到一个解决办法? – 2015-04-28 15:01:26