angular - 无法读取 null 的属性 'required'

标签 angular forms

在模板中我有一个表单,其中一部分与呈现类(class)列表有关:

<form #f="ngForm" (ngSubmit)="submit(f)">
 <div class="form-group">
  <label for="courseCategory"> Category </label>
  <select required ngModel name="courseCategory" #courseCategory="ngModel" id="courseCategory" class="form-control">
    <option value=""></option>
    <option *ngFor="let category of categories" [value]="category.id"> // line 16
      {{category.name}}
    </option>
  </select>
  <div class="alert alert-danger" *ngIf="courseCategory.touched && courseCategory.errors.required">
    Course category is required
  </div>
 </div>
</form>

在浏览器中,当我选择一个类别并按 TAB 键(从下拉列表中移开)时,我在控制台上收到此错误:

CourseComponent.html:16 ERROR TypeError: Cannot read property 'required' of null at Object.eval [as updateDirectives] (CourseComponent.html:20)

你能帮我找出导致这个错误的原因吗?

Bootstrap 3.3.7 已经安装在 VS Code 中。

最佳答案

错误不会一直存在,所以你必须这样定义它:

<div class="alert alert-danger" *ngIf="courseCategory.touched && courseCategory.errors?.required">

使用安全运算符“?”

关于angular - 无法读取 null 的属性 'required',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50396057/

相关文章:

forms - 成功登录Tomcat表单后重定向

javascript - 显示弹出窗口后提交功能不起作用

Angular 5 HttpClient 路径变量

Angular2 ngFor : when add/remove DOM? 如何强制它重新创建 DOM?

angular - 错误 NgZone 没有提供者

Angular 不会在启用缓存的情况下更新页面

javascript - Ajax 表单提交不起作用

html - 当我在页面中切换时,为什么整个页面会自动向上推几个像素?

java - 在同一个 servlet 中处理不同请求的更优雅的方式

django - 在 Django 中导航回时如何防止浏览器重新填写表单数据