3

我的 Angular2(测试版)应用程序中的 2way 数据绑定有问题。控制台中没有错误,因此很难猜测为什么以下代码段适用于输入文本字段但不适用于选择字段,有什么想法吗?

{{model.quantity}} 不会在所选项目更改时更新,但 {{model.name}} 在文本字段中会更新。

<div class="form-group">
                    <label>Name</label>
                    <input type="text" class="form-control" 
                    [(ngModel)]="model.name" > {{model.name}} 
                </div>
                <div class="form-group">
                        <label>Quantity</label>
                        <select class="form-control" [(ngModel)]="model.quantity">
                          <option value="1">1</option>
                          <option value="2">2</option>
                          <option value="3">3</option>
                        </select> {{model.quantity}} 
                </div>

另一方面,当我做这样的事情时:

在 ts 文件中:

 logChange(input:any) {
    console.log('Selected value:',input);
}

在视图模板中:

 <div class="form-group">
                            <label>Quantity</label>
                            <select class="form-control" [(ngModel)]="amount" #amountField (change)="logChange(amountField.value)">
                             <option value="1">1</option>
                             <option value="2">2</option>
                             <option value="3">3</option>
                            </select>
                            {{amount}} 
                    </div>

控制台显示每个更改事件的值。

4

2 回答 2

1

我认为它有效,它在 Beta.0 上进行了测试

考虑一下这个笨蛋:

 <select [(ngModel)]="name"> 
    <option *ngFor="#n of names" [attr.value]="n">{{n}}</option>
  </select>

https://plnkr.co/edit/MMNWGh?p=info

于 2016-01-27T14:41:59.600 回答
0

也许这是这个问题中描述的相同问题:Angular 2: How to get selected value from different options of a form? .

@Mubashir 在他的回答中提供了一个解决方案......

希望它可以帮助你,蒂埃里

于 2016-01-27T13:46:54.113 回答