【发布时间】:2016-02-24 19:53:37
【问题描述】:
考虑下面这段代码
import {Component, OnInit} from 'angular2/core';
import {bootstrap, BrowserDomAdapter} from 'angular2/platform/browser';
@Component({
selector: 'app',
template: `<div id="test"></div>
<br>Current Value is: {{ name }}`
})
class App implements OnInit{
public name = "Hello World!";
constructor() {}
ngOnInit(){
$("#test").append("<input type='text' [(ngModel)]='name' placeholder='Enter Name' />");
}
}
bootstrap(App);
如您所见,我正在向 DOM 动态添加模板并将 name 属性绑定到它。但是生成的输入文本框不与名称绑定。我是新手,我知道这可能不是正确的方法。如果是这样,实现这一目标的正确方法是什么?
【问题讨论】:
-
模板的动态性如何?你能简单地将你的动态模板放在它自己的子组件中吗?然后在父组件中,您可以使用
NgIf有条件地从 DOM 中添加/删除它。您可以在子组件上放置一个输入属性和一个输出属性来获取数据。 -
操作!我的错,我刚刚解决了我的问题,我觉得很愚蠢。我使用 ngFor 生成多个输入字段并绑定它们的值。谢谢。
标签: javascript angular