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

前端之家收集整理的这篇文章主要介绍了ember.js – 如何以编程方式将子视图添加到特定DOM选择器的Ember视图?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个视图,它使用第三方库在didInsertElement钩子中呈现其他DOM元素.添加这些新元素后,我需要在其中添加一些子视图,以便它们可以呈现动态数据.

这是我尝试过的:

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

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

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

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

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

解决方法

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

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

有关相关问题(组件而非视图),另请参阅this question.

猜你在找的JavaScript相关文章