【发布时间】:2017-11-23 23:54:20
【问题描述】:
我有 2 个数组,其中 1 个数组值绑定到选择下拉值。 在清除另一个数组时,我只想呈现一个选项。 以下是代码:
组件
@Component({
selector: 'my-app',
templateUrl : 'app/app.html'
})
export class AppComponent {
arrToClear = [1,2,3,4];
arrToBind = ["NONE", "SOME", "OTHER"];
modelToBind = 'NONE';
}
查看
MODEL -> {{modelToBind}}
<button type='button'(click)="arrToClear.length = 0; modelToBind = 'NONE'">Clear Array </button>
<select class="form-control"
id="someId"
name="someName"
[ngModel]="modelToBind"
#someName="ngModel"
>
<ng-container *ngIf="arrToClear.length">
<option *ngFor="let data of arrToBind"
[ngValue]="data"> {{data}}
</option>
</ng-container>
<option value="NONE" *ngIf="!arrToClear.length">
Value
</option>
</select>
问题是,当我清除“arrToClearArr”数组时,我选择的值为空。它应该绑定到“A”,因为我的模型包含“A”。
另外,我只想要单向绑定,因此我使用了 [ngModel]。
我在这里缺少什么?任何帮助将不胜感激。 谢谢。
预期行为:
- 更改下拉值
- 点击“清除阵列”按钮
- 下拉值应为“A”,目前为“”
【问题讨论】:
-
在 DOM 中显示的选项元素是否正确?对于此示例,Value 是一个变量还是只是占位符文本?
-
是的,option 元素在 DOM 中正确显示,value 只是示例中的字符串,应该与用作 ngModel 的变量匹配。
标签: javascript html angular2-template angular2-forms