Javascript 角度4选择不在模型更改时更新
我试图在选择新值后调用eventChange函数并将所选值恢复为默认值。但是会发生什么:ngModel值会更新,但所选值保持不变。我应该如何使选定值和ngModel值相同 HTML文件Javascript 角度4选择不在模型更改时更新,javascript,html,angular,select,ngmodel,Javascript,Html,Angular,Select,Ngmodel,我试图在选择新值后调用eventChange函数并将所选值恢复为默认值。但是会发生什么:ngModel值会更新,但所选值保持不变。我应该如何使选定值和ngModel值相同 HTML文件 <select [(ngModel)]="selectedValue" (change)="eventChange()" > <option [disabled]="true" [
<select [(ngModel)]="selectedValue"
(change)="eventChange()"
>
<option [disabled]="true"
[ngValue]="-1">
Choose an option
</option>
<option *ngFor="let item of myList index as i"
[ngValue]="i"
>
{{item.name}}
</option>
</select>
评论:
在运行网页刷新时,正确设置了select的第一个值,如果在组件文件中,我将变量selectedValue设置为其他索引,则选择了其他值,但它仅在运行时有效,而在函数中无效
我也发现了这个问题
但这里是AngularJS使用ng选项的答案,而不是ng重复,在angular 4中,我只找到了*ngFor
更新:
澄清以防万一:正在调用函数,但我希望通过javascript更改所选选项。我尝试通过更改ngModel值来实现这一点,但即使ngModel值已更改,所选选项也不会更改。使用ngModelChange,您不需要[ngValue]
不知怎么的,还是不起作用。函数始终在change和ngModelChange事件中调用。但是ng model=selectedValue是一个索引,而selectedValue是具有其他索引的项。您想做什么?我想通过javascript更改selected选项。我尝试通过更改ngModel值来执行此操作,但所选选项不会更改。请删除ng值并仅使用ngModel
selectedValue = -1; //works //Option in select is changed
eventChange(){
this.selectedValue= -1; //don't work
//Function is called,
//Value changes
//But selected Option in Select doesn't change
}
<select [(ngModel)]="selectedValue"
(ngModelChange)="eventChange()"