在路由中将emberjs组件附加到dom
我正在动态创建一个带有余烬路由的余烬组件,需要将该组件附加到DOM中。我是这样做的:在路由中将emberjs组件附加到dom,dom,ember.js,Dom,Ember.js,我正在动态创建一个带有余烬路由的余烬组件,需要将该组件附加到DOM中。我是这样做的: createwidget : function (row, column, value, htmlElement) { var componentObj = {}; componentObj.props = { id: 'selectid',
createwidget : function (row, column, value, htmlElement) {
var componentObj = {};
componentObj.props = {
id: 'selectid',
content: $this.codes,
optionValuePath: 'code',
optionLabelPath: 'value',
selectedValue: '',
name: 'selectInputName',
selectedLabel: '',
dropdownLabel: 'selectLabel',
placeholder: 'selectPlaceholder'
};
componentObj.name = 'jpma-select';
componentObj.type = 'component';
var component = $this._createComponent(componentObj);
component.appendTo($(htmlElement));
}
createwidget是来自jqxgrid小部件的函数。它允许您动态创建元素并将其添加到网格单元_createComponent是我们的自定义方法之一,它创建一个自定义余烬组件,在本例中是一个select。我得到一个错误:
“断言失败:您不能追加到现有的EMBE.VIEW。请考虑使用EMBR.CuuleVIEW。”
如果将组件包装为jQuery对象,如下所示:
$(组件).appendTo($(htmlElement))
我得到这个错误:
“jpma analytics tracker.js:154 TypeError:无法读取未定义(…)的属性'ownerDocument'”
那么是什么原因呢?我能做些什么来让它工作?
谢谢这可能是Javascript或jQuery方式。也许你必须让它工作,但在我看来,这不是余烬的工作方式 用于创建动态零部件
根据我个人的经验,如果您需要修改组件,请在组件(可能是包装器/外部组件)中进行修改,而不是在路径中进行修改。这要么是精彩的,要么是完全疯狂的。我不知道。这在ember的组件生命周期挂钩中是如何工作的?简言之:这不起作用。我建议同时使用
每个
和组件
助手。我怀疑这也不起作用,或者这不是一个好主意,但这是我的要求,但我想我会更努力地退一步。