2017-09-25 138 views
1

我有一个简单的应用程序,它将文本框的值添加到列表框中,当在文本框中按下输入键时。 这里是我的html代码Angular输入类型文本绑定

<input type="text" value="{{ myText }}" (keypress)="keyEvent($event)" /> 
<select multiple="multiple" > 
    <option *ngFor="let item of itemsList"> 
    {{item}} 
    </option> 
</select> 

这里是我的打字稿组件代码

export class AppComponent { 
    title = `hello world app !`; 
    myText =''; 
    itemsList = [];constructor() { 
    } 

    ngOnInit() { 
    } 

    keyEvent(event) 
    { 
    if(event.keyCode === 13) 
    { 
     event.preventDefault(); // Otherwise the form will be submitted 
     this.itemsList.push(this.myText); 
    } 
    } 
会将myText

值未得到更新。该值始终为空。

请帮忙弄清楚绑定myText时我缺少的是什么。

回答

0

它没有更新,因为你通过ngModel需要双向数据绑定

<input type="text" [(ngModel)]="myText" p (keypress)="keyEvent($event)" /> 

欲了解更多信息:在添加后https://angular.io/api/forms/NgModel

+0

[(ngModel)] = “会将myText” html页面变成空白: ( – Peekay

+0

@ Peekay,在控制台中的任何错误? –

+0

@商业自杀没有错误..当我删除外部支撑至少屏幕是可见的但仍然绑定不会发生-----------就像这样。 ngModel)=“myText” – Peekay