Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 无法获取角度10中的选定值_Angular - Fatal编程技术网

Angular 无法获取角度10中的选定值

Angular 无法获取角度10中的选定值,angular,Angular,我试图获取所选值,但它返回null。如果我从select类中删除,它工作得很好;但是,当我添加该类时,它返回null <div class="form-group"> <div class="form-label-group"> <label class="form-label">Language</label> </d

我试图获取所选值,但它返回
null
。如果我从select类中删除,它工作得很好;但是,当我添加该类时,它返回
null

<div class="form-group">
          <div class="form-label-group">
            <label class="form-label">Language</label>
          </div>
          <div class="form-control-wrap">
              <select #selectedLang [formControl]="loginFormControl.language" 
                  (change)="storeLangVal(selectedLang.value)" name="language" 
                  class="form-select form-select-sm">
                  <option *ngFor="let lang of langList" [value]="lang.id">
                     {{lang.name}}
                  </option>
              </select>
          </div>
        </div>
    
    langList: langList[] = [{id: "en", name: "English"}, {id: "hi", name: "Hindi"}];
      loginForm = new FormGroup({
        userName: new FormControl('', [Validators.required]),
        password: new FormControl('', [Validators.required]),
        language: new FormControl('en')
      })
    
    storeLangVal(language) {
        console.log(language);
      }
    get loginFormControl() {
        return this.loginForm.controls;
      }

语言
{{lang.name}
langList:langList[]=[{id:“en”,name:“English”},{id:“hi”,name:“Hindi”}];
loginForm=新表单组({
用户名:新FormControl(“”,[Validators.required]),
密码:新FormControl(“”,[Validators.required]),
语言:新FormControl('en')
})
storeLangVal(语言){
console.log(语言);
}
获取loginFormControl(){
返回this.loginForm.controls;
}

首先,我在代码片段中没有看到
formGroup
指令。您应该添加一个
formGroup
指令,并将其值设置为
loginform
。在第二位,您的选择集中有
formControl
,设置为
loginFormControl.language
。这是不对的。您应该将
formContolName
指令设置为
language
。最后,您应该有如下内容:

<div fromGroup="loginForm" class="form-group">
    <div class="form-label-group">
        <label class="form-label">Language</label>
    </div>
    <div class="form-control-wrap">
        <select #selectedLang
            formControlName="language"
            (change)="storeLangVal(selectedLang.value)"
            name="language"
            class="form-select form-select-sm"
         >
            <option *ngFor="let lang of langList" [value]="lang.id">
                {{lang.name}}
            </option>
        </select>
    </div>
</div>

语言
{{lang.name}

表单选择类中有什么?很难用您提供的几个细节来帮助您(我们不知道哪个函数在生命周期的哪个点返回null)。我看到的唯一一件事(但可能是因为您没有提供所有代码)是,您在templateForm select类中缺少了一个表单,就像select2类一样