我是Angular的新手,我不知道为什么我的变更处理程序从输入控件接收到未定义的值。下面的代码显示了我的html内容:
<select #model ngModel name="modelTested" (change)="modelTestedSelectedHandler(model.value)" id="modelTested" class="form-control">
<optgroup *ngFor = "let consoleType of consoleTypes" label="{{consoleType}}">
<option *ngFor="let console of consoles" [value]="console._id">{{console.model}}</option>
</optgroup>
</select>
我的变更处理程序是:
modelTestedSelectedHandler(modelName){
//this.appVersionList = this.modelTestedList.find((item)=> item.model == modelName).appVersions;
var versions = this.consoles.find((item)=> item.model == modelName).versions;
this.brainboardVersionList = versions.map(ver => {
return ver.number
})
console.log("BB Versions:" );
console.log(this.brainboardVersionList);
}
我要用此代码完成的工作是,获取更改时选择的值,以便可以相应地显示/隐藏ui元素。这段代码位于form
内部,因此我也想在表单提交中获取值console._id
。
如果我从选项标签中删除行[value]="console._id
,则处理程序将接收从控件传递的值,但是如果我保留该行,则我在{{1 }}
是nodelName
。