Angular将[value]与ngModel和变更处理程序结合使用

时间:2018-07-02 20:23:54

标签: angular data-binding angular2-ngmodel

我是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

0 个答案:

没有答案