在Angular2中添加动态属性

问题描述:

我有用于使用setAttribute函数创建动态元素的现有javascript函数。现在我想追加属性[(ngModel)]到这个元素进行双向数据绑定。我尝试添加该使用在Angular2中添加动态属性

obj.setAttribute( “[(ngModel)”, “MODELNAME”)

但是我却越来越无差错

Failed to execute 'setAttribute' on 'Element': '[(ngModel)]' is not a valid 

代替从JavaScript设置属性,将所有属性放在数组中并循环它以呈现所有输入字段。

<div ngFor="item in items"> 

    <input [(ngModel)]="item.modelName" class="form-control" /> 

</div> 
+0

喜,日Thnx的反应,其实我使用metawidget的JavaScript API来从JSON模式元素。所以我通过API使用了settAtributes来追加属性。 – deen

+2

向DOM添加任何Angular2特定绑定语法都是毫无意义的。在将组件添加到DOM之前,Angular2将这些绑定转换为JS。在DOM绑定中根本没有任何效果。 –

+0

那么预定义一个模板和使用它是否是一个好的选择,是动态追加还是添加一个属性? @GünterZöchbauer – peaceUser

正如Günter所述,“在DOM绑定中根本没有任何影响”。然而,Angular 1也是如此。在Angular 1中,您必须先使用$compile您的DOM片段,才能产生任何效果。

Angular 2的等效$compile有点不同,但它可以帮助您沿着这些线进行研究。例如: