2017-10-17 46 views
0

我想创建一个输入元素从typescript到角4中的html。但是当我尝试把[(ngModel)]不起作用。我如何做这个方法?有人知道如何?文档setAttribute ngModel Angular

createElement() { 
    this.input = document.createElement('input'); 
    this.input.setAttribute('matInput', ''); 
    this.input.setAttribute('placeholder', 'Tema'); 
    this.input.setAttribute('[(ngModel)]', 'module.theme'); 
    this.input.setAttribute('name', 'theme'); 

    return (<HTMLDivElement>(document.getElementById('ejemplo').appendChild(this.input))); 
    } 

回答

1

喜欢的东西

this.input.setAttribute('[(ngModel)]', 'module.theme'); 

不应该工作。 属性/属性绑定和组件/指令实例仅适用于静态添加到组件模板的标记。

如果它是动态添加的,它不会有任何影响。 如果需要,可以在运行时创建和编译组件,并动态添加该组件(静态定义为ViewContainerRef)。

或者,您可以使用命令式代码更新DOM。