在Anguar5中使用Renderer2时如何使用[(ng-model)]

时间:2018-07-12 08:43:44

标签: javascript angular angular5

下面是我的代码,用于使用Renderer2 DOM Creation创建输入框。为此,我需要使用渲染器添加[(ng-Model)]。添加指令的语法是什么?

类似的东西:

renderer.setAttribute("[ng-Model]",name)
let input = this.renderer.createElement('input');
        input.type = typeof res[key];
        input.placeholder = `Search By ${key}`;
        input.id = `SearchField0${key}`;
        this.renderer.setAttribute(input, "class", "SearchField search_1");
        this.renderer.listen(input, 'input', () => { this.getValFilter();});

1 个答案:

答案 0 :(得分:1)

您将无法像这样设置任何Angular指令。 Renderer2只是将元素添加到DOM,但是您将无法使用Angular逻辑(例如,指令)将其连接起来。

替代方案是

  • 将动态输入字段添加到模板中,并在其上使用ngModel
  • 使用反应形式从TS类动态设置它们。