ngFor 有效但不适用于 ng-options 或 ng-repeat

ngFor works but not ng-options or ng-repeat

我创建了一个 Angular 5 项目。

我创建了自己的组件,并向组件 html 模板传递了一个人员列表。

以下代码有效

  <ul>
      <li *ngFor="let x of persons">{{ x.Id }}: {{ x.personName }}</li>
  </ul>

我需要将它放在 select 而不是列表中。

ng 选项不起作用

<select ng-model="selectedPerson" ng-options="x.personName for x in persons"></select>

ng-repeat 不起作用

<select><option ng-repeat="x in persons">{{x.personName}}</option></select>

两者都在浏览器中给出以下错误。

ERROR TypeError: Cannot read property 'personName' of undefined

我做错了什么?

像这样尝试:

在angular 5中使用ngFor代替ng-repeat

<select [(ngModel)]="selectedPerson" name="selectedPerson">
    <option *ngFor="let x of persons">{{x.personName}}</option>
</select>

使用[(ngModel)]代替ng-model

<input type="text" class="form-control" id="name" required  [(ngModel)]="model.name" name="name" />

请检查这个