如何以编程方式将子视图添加到特定DOM选择器的Ember视图?

And*_*are 7 ember.js

我有一个视图,它使用第三方库在didInsertElement钩子中呈现其他DOM元素.添加这些新元素后,我需要在其中添加一些子视图,以便它们可以呈现动态数据.

这是我试过的:

App.MyView = Ember.View.extend({
  didInsertElement: function() {
    create3rdPartyDomElements();
    var element = this.$('someSelector');
    childView = this.createChildView(App.SomeViewClass, attributesDict);
    childView.appendTo(element);
  }
});
Run Code Online (Sandbox Code Playgroud)

(jsbin:http://jsbin.com/idoyic/3 )

这会使我的视图按预期呈现,但是在Ember RC 7中给出了以下断言错误:"您无法附加到现有的Ember.View.请考虑使用Ember.ContainerView."

我已经尝试过扩展ContainerView,正如这里所建议的那样有效,但我没办法在特定的DOM选择器中插入子视图.它只是在父视图的开头插入子视图.

有人可以帮帮我吗?非常感谢!

jes*_*nko 0

您可以将子视图渲染到父视图的隐藏 div 中,然后将它们分离并附加到didInsertElementhook 中的任意 DOM 元素。

http://jsbin.com/qaqome/1/

对于相关问题(组件而不是视图)另请参阅此问题