答案 0 :(得分:1)
如果您使用ngModel
使用ngModelChange
来获取有关更改的通知。在(change)="..."
更新
SearchFor
之前,ngModel
被解雇了
<select class="form-control" name="SearchBy" [(ngModel)]="SearchFor" (ngModelChange)="changeSearchFor($event)">
答案 1 :(得分:0)
如果你使用ngModel指令得到错误,可能是由于你没有导入FormsModule,因为语法似乎对我来说是正确的。 您需要模块中的这些行:
import {FormsModule} from '@angular/forms';
@NgModule({
imports: [
FormsModule
]
})
此外,您不需要将SeachFor作为参数传递,因为它是您已经在打字稿中链接的变量。
PD:如果您要包含自动填充功能,您是否考虑过定义模型驱动表单?这样,您可以订阅表单valueChanges observable并对其应用反应式编程,如此链接中所述: https://blog.thoughtram.io/angular/2016/06/22/model-driven-forms-in-angular-2.html
答案 2 :(得分:0)
如果您只需要在函数中获取值,那么您可以在没有ngModel
的情况下执行此操作:
<select class="form-control" name="SearchBy" (change)="changeSearchFor($event.target.value)">
<option value="1">Name</option>
<option value="2">WWID</option>
<option value="3">IDSID</option>
<option value="4">Cost Center</option>
<option value="5">Manager WWID</option>
<option value="6">Organisational Unit</option>
</select>
如果您使用ngModel
,请确保导入并添加到@NgModule
的导入数组FormsModule:
import {FormsModule} from '@angular/forms'
...
@NgModule({
imports: [ BrowserModule, FormsModule ],
declarations: [ App ],
bootstrap: [ App ]
})
示例plunker:https://plnkr.co/edit/PGeipOAz5kKpxO5HdTc8?p=preview